2010-10-28 56 views
3

我想在vs2010中使用c#連接到mysql。我從mysql站點安裝了6.3.5版本的.net連接器。我嘗試使用下面的連接字符串 -從vs2010連接到mysql的問題

<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" /> 

,並正在以下錯誤 -

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

所以我再更改連接字符串 -

<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" /> 

並得到以下錯誤 -

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

有沒有人知道爲什麼會發生這種情況?

感謝您的任何想法。

回答

3

看看http://www.connectionstrings.com/mysql。但是,您不應該通過OLEDB提供商。嘗試像這樣:

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

是的 - 這是我最終與。我把我的連接混在一起,並試圖在我應該使用mysql連接器時使用oledb。謝謝 – czuroski 2010-10-29 18:59:03

+0

不客氣。 – 2010-10-29 19:01:20

+0

據說MySQL .NET Connector是一個OLE DB提供程序,因此它應該可以使用它。這種方法似乎更好,因爲如果你想使用其他符合OLE DB的數據庫,則不必重新編譯.NET代碼。 – 2016-02-18 10:22:25