2009-02-17 5 views
1

J'ai un problème très drôle sur mon application, j'obtiens une erreur comme suit: System.ArgumentException: Un fournisseur OLE DB n'a pas été spécifié dans ConnectionString. Un exemple serait, 'Provider = SQLOLEDB;'.Le fournisseur devait être spécifié sur une chaîne de connexion?

Cependant, lorsque j'ai essayé de spécifier le fournisseur sur ma connexion en tant que fournisseur = SQLOLEDB.1 ou fournisseur = SQLOLEDB, une autre erreur s'affiche, indiquant un mot clé non valide "Fournisseur".

Mais une chose que j'ai remarquée, l'ordinateur que je vise à avoir 2 systèmes de base de données différents, causera cette erreur?

Une idée de comment résoudre ce problème?

Cordialement

+0

Veuillez fournir un exemple complet de la chaîne de connexion que vous utilisiez lorsque vous avez spécifié le fournisseur. –

+0

Ma chaîne de connexion est la suivante: Source de données = MonNomDeServeur; Initial Catalog = MyDatabaseName; ID utilisateur = MyUsername; Password = MyPassword ;, juste sans le fournisseur, la chaîne de connexion que j'ai reçu de www.connectionstrings.com – PlayKid

+0

pouvez-vous modifier avec plus de code de votre exemple s'il vous plaît –

Répondre

1

En supposant que vous utilisez ADO.NET, si vous souhaitez utiliser des systèmes de base de données distincts, vous devez corriger la DbConnection aussi, non seulement la chaîne de connexion.

Notez que vous ne pouvez pas utiliser un SqlConnection pour OLEDB, vous devez utiliser System.Data.OleDb.OleDbConnection à la place.

+1

J'utilisais SqlConnection pour cela, donc j'utilise le bon DbConnection car je n'utilise pas de connexion générale pour mon application. – PlayKid

+0

Vous ne pouvez pas utiliser SqlConnection pour OLEDB, vérifiez ma dernière modification sur ma réponse. –

0

On dirait que votre manque quelques bits de la chaîne de connexion - essayez ces

Chaîne générale de connexion:

strConnect = _T("Provider=sqloledb;Data Source=MyServerName;" 
     "Initial Catalog=MyDatabaseName;" 
     "User Id=MyUsername;Password=MyPassword;"); 

nommé Chaîne de connexion de l'instance:

strConnect = _T("Provider=sqloledb;Data Source=MyServerName\MyInstanceName;" 
    "Initial Catalog=MyDatabaseName;User Id=MyUsername;Password=MyPassword;"); 

Trusted Sécurité:

strConnect = _T("Provider=sqloledb;Data Source=MyServerName;" 
     "Initial Catalog=MyDatabaseName;" 
     "Integrated Security=SSPI;"); 

D'ici http://www.codeproject.com/KB/database/connectionstrings.aspx#OLE DB SqlServer

+0

Mais quand j'ajoute Provider sur ma chaîne de connexion, j'ai une autre erreur en disant un fournisseur de mot-clé invalide. – PlayKid

Questions connexes