提供程序未返回提供程序清单令牌字符串实体框架

本文关键字:程序 字符串 框架 令牌 实体 单令牌 返回 | 更新日期: 2023-09-27 18:32:24

从数据库获取提供程序信息时出错。这可能是由实体框架使用不正确的连接字符串引起的。检查内部异常以了解详细信息,并确保连接字符串正确。

内部异常:{"The provider did not return a ProviderManifestToken string."}

我已经搜索了其他线程,因为有很多类似的错误,但我似乎找不到解决方案。

我正在使用VS2012 Professional和SQL Server 2012。 我能够使用服务器资源管理器连接到服务器,并使用Windows身份验证。 我正在构建一个具有多层的网络表单应用程序。 其中一个包含我的实体框架层,其中包含我的上下文类。

<?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 type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">

但它并没有改变任何东西。

真的不确定我所做的任何改变甚至意味着什么让我担心。 当然,我可以在网上找到解决方案并解决我的问题,但我真的很想了解 web.config 以及这一切意味着什么。 除了找到这个问题的解决方案之外,谁能指出我学习web.configs的正确方向?

提前感谢您的帮助。

提供程序未返回提供程序清单令牌字符串实体框架

就我而言,是我的 SQL Server 实例没有运行。我只是启动了服务,一切正常。希望这对未来的某人有所帮助。

我也遇到了这个错误,我解决了降级这些NuGet包的问题

MySql.Data - 6.9.12

MySQL.Data.Entity - 6.8.8

这是我引用的参考网址

好吧,

我修复了它。

只需要在数据源中为本地机器输入".",如下所示:

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

这是另一个可能的原因:
我在AWS上同时拥有我的(ASP.NET)HTTP服务器和MySQL/Aurora服务器(据了解AWS不是OP评论的一部分)。
我的桌面(实际上是我们大楼的)IP被列入MySQL/Aurora服务器的安全组白名单,因此一切都非常适合开发。
但是 ASP.NET 服务器的 IP 列入 MySQL/Aurora 实例的白名单,因此 ASP 服务器的 EF 连接请求被拒绝,导致了此线程顶部指出的异常。
深奥,但也许这对某人有帮助。

对于那些最近得到这个的人来说,在更新到MySql.Data 8.0.19时,你还必须更新对EntityFramework的引用,Oracle改变了包,它现在是MySql.Data.EntityFramework而不是MySql.Data.Entity或MySql.Data.Entities。 大卫·塞卡尔的道具:https://davidsekar.com/asp-net/mysql-error-the-provider-did-not-return-a-providermanifesttoken

对我来说,这是以下所有内容。1.DB 不允许连接到我的开发环境。可能是防火墙限制。2. 连接字符串具有错误的数据库凭据。所以一般来说,连接字符串不正确。

我在

尝试连接到MySQL时遇到了这个问题,原因是我忘记在"连接字符串"中添加"密码"

在我的情况下,参数是 v12.0,我更改为 v11.0 并且它正在工作

我遇到了同样的问题,使用包管理器重新安装 Npgsql 就可以了。似乎是一个版本控制问题。

对我来说

,它在服务器和实例之间使用双反斜杠,例如.''SQLExPRESS;...等。

更正是使用 .''SQLEXPRESS

希望它对某人有所帮助。

我经常忘记为什么这个错误经常出现。对我来说,我通常会更改数据库的凭据,并且在代码部分没有更改相同的凭据。以防万一我再来这里提醒自己。

..最后(?!?)不要忘记在选中"首选32位"的情况下构建项目,因为这将消除生成此错误消息的已知错误(其中包含内部异常消息="算术溢出")