mysql ado.net connector下載地址:
http://dev.mysql.com/downloads/connector/net/
選擇版本:

Generally Available Releases(1)是發(fā)布版(bug什么的較少的版本吧),而Development Releases(2)是開發(fā)版
我們采用1版本
Windows (x86, 32-bit), MSI Installer
該版本是window下的安裝版,如果你安裝了這個版本的話,在本機調(diào)試的時候可以不用再次注冊MySql.Data.MySqlClient,vs會找到dbPRovider為此的dll,
如果重復注冊會報錯
創(chuàng)建 system.data 的配置節(jié)處理程序時出錯: 列“InvariantName”被約束為是唯一的。值“MySql.Data.MySqlClient”已存在。
如下圖 :
:

.Net & Mono (Architecture Independent), Zip Archive
如果是這個版本的話,那么你需要手動注冊下dll,否則調(diào)試的時候或者部署到Linux服務(wù)器上的時候MySql.Data.dll是無法被加載的,所以要手工注冊下代碼如下
<system.data> <DbProviderFactories> <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory,MySql.Data,Version=6.9.0.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/> </DbProviderFactories> </system.data>
對于
type="MySql.Data.MySqlClient.MySqlClientFactory,MySql.Data,Version=6.9.0.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"
這段根據(jù)自己的版本改變:C:/Windows/Assembly

注意了:這樣就會在windows下調(diào)試的時候報重復注冊的錯了。
我糾結(jié)了:在群友熬夜后如頭像的幫助下解決了
在注冊前先移除,上面web.config的配置改變?yōu)?/p>
<system.data> <DbProviderFactories> <remove invariant="MySql.Data.MySqlClient"></remove>//先移除,接下來注冊 <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory,MySql.Data,Version=6.9.0.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/> </DbProviderFactories> </system.data>
ok,解決了,多謝熬夜后如頭像的幫助。我也記錄此問題來幫助以后遇到這個問題的朋友。
新聞熱點
疑難解答