Salut à tous,
Afin de pouvoir valider une connexion à une base de données MySql je construit ma Provider grâce à ADO.NET et la méthode getFactoryClass.
Cette technique marche sur un pc personnel mais ailleurs mon programme plante car je vais chercher dans un endroit précis du tableau mon connecteur MySQL et si celui-ci n'est pas référencé cela fait donc planter le programme.
Voici le retour de mon datatable pour mon GetFactoryClasses
L'installation de driver MySQL pour .NET est pourtant bien installée.
Code : 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 Odbc Data Provider .Net Framework Data Provider for Odbc System.Data.Odbc System.Data.Odbc.OdbcFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c56 1934e089 OleDb Data Provider .Net Framework Data Provider for OleDb System.Data.OleDb System.Data.OleDb.OleDbFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c 561934e089 OracleClient Data Provider .Net Framework Data Provider for Oracle System.Data.OracleClient System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=4.0.0.0, Culture=neu tral, PublicKeyToken=b77a5c561934e089 SqlClient Data Provider .Net Framework Data Provider for SqlServer System.Data.SqlClient System.Data.SqlClient.SqlClientFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToke n=b77a5c561934e089 Microsoft SQL Server Compact Data Provider .NET Framework Data Provider for Microsoft SQL Server Compact System.Data.SqlServerCe.3.5 System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neut ral, PublicKeyToken=89845dcd8080cc91
Pourquoi mon datatable ne contient-il pas de référence à MySQL dans ce cas ? A cause de cela je ne peux pas créer mon provider pour mon programme.
Pour information voici mon bout de code servant à générer un provider MySQL :
Code : 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 public void InitialisationMysql() { DataSet DSconnexion = new DataSet("DSconnexion"); DataTable DTconnexion = new DataTable(); DTconnexion = DbProviderFactories.GetFactoryClasses(); DSconnexion.Tables.Add(DTconnexion); foreach (DataRow row in DTconnexion.Rows) { foreach (DataColumn column in DTconnexion.Columns) { Console.WriteLine(row[column].ToString()); } } InvariantName = DSconnexion.Tables[0].Rows[5]["InvariantName"].ToString(); ConnexionString = "Server=99.999.99.999;Port=11111;Database=myclient01;Uid=pseudo;Pwd=abcdefg;"; }
Merci pour votre éclairage.
Partager