2010-10-28 7 views
3

J'essaie de me connecter à mysql en utilisant C# dans vs2010. J'ai installé la version 6.3.5 du connecteur .net à partir du site mysql. J'essayer d'utiliser la chaîne de connexion suivante -problème de connexion à mysql de vs2010

<add name="mySql" connectionString="Server=localhost;Database=mydb;Uid=User;Pwd=mypass;" providerName="System.Data.OleDb.OleDbConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 

et je obtenir l'erreur suivante -

An OLE DB Provider was not specified in the ConnectionString. An example would be, 'Provider=SQLOLEDB;'. 

Je change alors la chaîne de connexion à -

<add name="mySqlTarget" connectionString="Provider=MySQLProv;Server=localhost;Database=mydb;Uid=User;Pwd=mypass;" providerName="System.Data.OleDb.OleDbConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 

et obtenir l'erreur suivante -

The 'MySQLProv' provider is not registered on the local machine. 

Est-ce que quelqu'un a une idée de pourquoi cela se passe?

merci pour vos commentaires.

Répondre

3

Jetez un oeil à http://www.connectionstrings.com/mysql. Cependant, vous ne devriez pas passer par le fournisseur OLEDB. Essayez quelque chose comme:

<add name="mySql" 
    connectionString="Server=localhost;Database=mydb;Uid=User;Pwd=mypass;" 
    providerName="MySql.Data.MySqlClient"/> 
+0

ouais - c'est ce que j'ai fini avec. Mes connexions étaient mélangées et j'essayais d'utiliser l'oledb alors que j'aurais dû utiliser le connecteur mysql. merci – czuroski

+0

De rien. –

+0

Le connecteur MySQL .NET est considéré comme un fournisseur OLE DB, donc il devrait fonctionner pour l'utiliser. Cette approche semble préférable car vous n'avez pas besoin de recompiler votre code .NET lorsque vous souhaitez utiliser une autre base de données compatible OLE DB. –