2011-11-09 79 views
4

我是ASP.NET新手。每次嘗試運行我的應用程序時,都會遇到下面的錯誤消息。我已經爲MySQL安裝了幾次.Net Framework數據提供程序。 我希望有人能幫助我。提前致謝。ASP.NET和MySQL .Net框架數據提供程序問題

Server Error in '/PLDT QuickSearcher' Application. 

Unable to find the requested .Net Framework Data Provider. It may not be installed. 

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.ArgumentException: Unable to find the requested .Net Framework Data Provider. It may not be installed. 
+1

你在你的web.config文件中配置「」 ? – Muse

+0

您是否試圖在遠程服務器上運行您的應用程序?嘗試將mysql提供程序DLL放入與.dll/bin文件夾相同的文件夾中。 – sinni800

+1

您是否將該dll添加爲該項目的參考? –

回答

13

添加MySql.Data.dll作爲參考項目
此塊添加到web.config中:

<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" /> 
    </DbProviderFactories> 
</system.data> 
+0

謝謝你的回覆。但我仍然收到相同的錯誤信息。 –

+0

我通過重新安裝MySQL來解決它。謝謝你們! –

+0

@SiHyungLee你卸載了連接器還是實際的服務器?你運行了新版本嗎? –

9

參考的MySql.Data和MySql.Entities的NuGet包。然後將此行添加到您的網絡配置。

<system.data> 
    <DbProviderFactories> 
    <remove invariant="MySql.Data.MySqlClient" /> 
    <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.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> 
    </DbProviderFactories> 
</system.data> 

您的連接字符串應該是類似以下內容:

<add name="MyDb" connectionString="Server=127.0.0.1;Port=3306;Database=MyDb;Uid=root;Pwd=;" providerName="MySql.Data.MySqlClient" /> 
+0

那個頂部真的很挑剔。我嘗試了一些我在網絡上找到的其他口味,但是使用你的字體爲我工作。 (幸運的是,我已經在相同的版本,6.5.4.0) –

+2

請確保您正在編寫程序集的正確版本。目前6.6.4.0 – Adaptabi

1

我已經解決了這個問題,下面的配置

<system.data> 
    <DbProviderFactories> 
     <remove invariant="MySql.Data.MySqlClient" /> 
     <add name="MySQL Data Provider" 
      invariant="MySql.Data.MySqlClient" 
      description=".Net Framework Data Provider for MySQL" 
      type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" /> 
    </DbProviderFactories> 
    </system.data> 

    <entityFramework> 
    <providers> 
     <provider invariantName="MySql.Data.MySqlClient" 
        type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" /> 
    </providers> 
    </entityFramework> 
相關問題