Bonjour,
Le titre n'étant pas clair, je vais détailler mon problème ici :
J'ai une fonction, GetFactory qui retourne une instance Factory suivant le type de source de données :
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 private DbProviderFactory GetFactory() { // Selon le moteur SQL utilisé switch (this.engineType) { //SQLite case SQLEngineType.SQLite: return System.Data.SQLite.SQLiteFactory.Instance; //MySQL case SQLEngineType.MySQL: return MySql.Data.MySqlClient.MySqlClientFactory.Instance; //Oracle case SQLEngineType.Oracle: return Oracle.DataAccess.Client.OracleClientFactory.Instance; //SQLServer case SQLEngineType.SQLServer: return System.Data.SqlClient.SqlClientFactory.Instance; //OleDB case SQLEngineType.Oledb: return System.Data.OleDb.OleDbFactory.Instance; //Odbc case SQLEngineType.Odbc: return System.Data.Odbc.OdbcFactory.Instance; // Un autre default: return null; } }
Mon problème est que, dès que je veux une factory, par exemple celle de MySql, il faut obligatoirement que les dll des autres factory (Oracle.DataAccess, System.Data.SQLite, etc...) soit présente sous peine d'avoir une erreurEt quand on sait qu'on n'utilisera que MySql dans le projet, ça devient embêtant de devoir se traîner les autres dll."System.IO.FileNotFound : librairie non trouvée".
Quelqu'un connaitrait-il un moyen d'éviter ce désagrément ?
Merci !
Partager