我们有一个使用 .NET Entity Framework 4 连接到 MySql 的应用程序。我现在已在几台开发计算机 (Windows 7) 上进行了设置,现在正在部署到 Windows 2008 R2,但在尝试从应用程序访问数据库时会引发异常。
有两种连接字符串,一种用于 ADO.NET,一种用于 Entity Framework 。
我们正在使用适用于 .NET v 6.4.4 的 MySql 连接器
异常(exception)情况是:
"The underlying provider failed on Open." - "Reading from the stream has failed."
在谷歌上搜索异常时,大多数帖子都与使用 Entity Framework 和 SqlServer 相关,在这些情况下,问题看起来与身份验证相关。由于我们在这里使用根用户凭据进行连接,如果这是身份验证问题,我不确定如何诊断。其他应用程序使用相同的凭据连接到数据库。
连接字符串是:
<add name="AppEntities" connectionString="metadata=res://*/OrmApp.AppEntities.csdl|res://*/OrmApp.AppEntities.ssdl|res://*/OrmApp.AppEntities.msl;provider=MySql.Data.MySqlClient;provider connection string="server=localhost;User Id=root;password=*********;Persist Security Info=True;database=app_staging;Convert Zero Datetime=True"" providerName="System.Data.EntityClient" />
<add name="AppAdoNet" connectionString="server=localhost;User Id=root;password=*********;Persist Security Info=True;database=app_staging;Convert Zero Datetime=True" providerName="System.Data.MySql" />
如果有人在 MySql 上遇到过此类问题,或者可以就如何诊断我认为是在数据库端的问题提供建议,我们将不胜感激。
最佳答案
最后的问题很奇怪。在这里回答http://www.randombytes.me/2012/06/mysql-connector-net-reading-from-stream.html
更新了帖子链接。
摘要:
生产服务器使用 IIS 将“启用 32 位应用程序”设置为“True”,恢复为“False”解决了该问题。显然,您需要检查应用程序中的另一个组件是否需要将此标志设置为“True”。
关于mysql - 具有 MySql 异常的 Entity Framework - "The underlying provider failed on Open."- "Reading from the stream has failed.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10976439/