2013-09-23 70 views
10

從數據庫獲取提供程序信息時發生錯誤。這可能是由實體框架使用不正確的連接字符串造成的。檢查內部異常以獲取詳細信息,並確保連接字符串正確。提供程序未返回ProviderManifestToken字符串實體框架

內部異常:{"The provider did not return a ProviderManifestToken string."}

我搜索其他線程,因爲有許多類似的錯誤,但我似乎無法找到解決的辦法。

我正在使用VS2012專業版和SQL Server 2012.我能夠使用Windows身份驗證使用服務器資源管理器連接到服務器。我正在構建一個具有多層的webforms應用程序。其中之一包含我的實體框架層,其中包含我的上下文類。

<?xml version="1.0"?> 
<!-- 
    For more information on how to configure your ASP.NET application, please visit 
    http://go.microsoft.com/fwlink/?LinkId=169433 
    --> 

<configuration> 
    <system.web> 
    <compilation debug="true" targetFramework="4.5" /> 
    <httpRuntime targetFramework="4.5" /> 
    </system.web> 

    <connectionStrings> 
    <add name="MYSQLSERVER" 
     providerName="System.Data.SqlClient" 
     connectionString="Data Source=myComputer\MYSQLSERVER;Trusted_Connection=true"></add> 
    </connectionStrings> 
</configuration> 

這是我的實體框架類庫層中的app.config的樣子。

<entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> 
     <parameters> 
     <parameter value="v11.0" /> 
     </parameters> 
    </defaultConnectionFactory> 
    </entityFramework> 
</configuration> 

而且,我試圖改變在app.config defaultConnectionFactory類型

<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"> 

但它並沒有改變任何東西。

我不確定我做出的任何更改甚至是什麼讓我感到擔憂。當然,我可以在網上找到解決方案,並解決了我的問題,但我真的很想了解web.config以及這意味着什麼。除了找到解決這個問題的方法之外,誰能指出我正確的學習web.configs的方向?

感謝您的幫助。

+0

是的,得到了​​這個,它顯然只是服務器名稱不正確。 –

回答

3

好吧我修好了。

只需要把「。」對於數據源中的localmachine如下:

<add name="MYSQLSERVER" 
    providerName="System.Data.SqlClient" 
    connectionString="Data Source=.\MYSQLSERVER;Trusted_Connection=true"></add>  
</connectionStrings> 
5

在我的情況下,這是我的SQL Server實例未運行。我只是開始服務,一切正常。希望這可以幫助那些在路上的人。

0

..和FINALLY(?!?)不要忘記建立自己的項目,「不想32位」選中,因爲這將消除已知的BUG生成此錯誤消息(具有內部異常消息=' Arithemtic溢出')

1

,當我嘗試連接到MySQL我遇到這個問題,原因是我忘了在‘的ConnectionStrings’

+0

我面臨同樣的問題,並解決它時,我看到你的提示,我忘了密碼,供應商連接字符串沒有與它一起出現。它只是有一個佔位符,我不得不用我的密碼替換:-) –

2

下面是另一個可能的原因加上了‘密碼’:
我都我的(ASP.NET)HTTP服務器和AWS上的MySQL/Aurora服務器(瞭解AWS不是OP評論的一部分)。
我的桌面(實際上是我們的建築物)IP在MySQL/Aurora服務器的安全組中被列入白名單,所以一切工作都非常適合開發。
但是ASP.NET服務器的IP是而不是列入MySQL/Aurora實例的白名單,因此ASP服務器的EF連接請求被拒絕,並且導致在此線程頂部注意到的異常。
深奧的,但也許這有助於某人。

+0

我自己有這個確切的問題 – dlchambers

0

在我的情況下放慢參數是V12.0,我改爲11.0並正在

0

我有同樣的問題,重新安裝與Npgsql的包管理器訣竅。 似乎是一個版本問題。

相關問題