我用 C# 编写了一个程序集来执行 MySQL 数据库的所有数据访问。我已在我的 C# winform 桌面应用程序中成功使用了该程序集(已编译的 dll)。但它仅适用于安装了“MySQL Connector Net 6.4.4”的电脑。
我尝试在我的 asp.net 网站项目中使用相同的程序集。首先,我收到有关缺少连接字符串的错误。通过将 MySQL 连接字符串添加到 web.config 文件中可以轻松解决此问题。我现在收到此错误(下面列出的堆栈跟踪),我尝试将以下 dll 添加到我的 bin 文件夹中来解决它,但它不起作用。
MySql.Data.dll
MySql.Data.Entity.dll
MySql.Web.dll
System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown.
---> System.ArgumentException: The specified store provider cannot be found in the configuration, or is not valid.
---> System.ArgumentException: Unable to find the requested .Net Framework Data Provider. It may not be installed. at System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName) at System.Data.EntityClient.EntityConnection.GetFactory(String providerString)
--- End of inner exception stack trace
但它仅适用于安装了“MySQL Connector Net 6.4.4”的电脑。
这是否意味着您正在尝试在未安装提供程序的计算机上运行代码?在这种情况下,您还必须在配置文件中注册提供程序,因为安装会将其添加到 machine.config 中,如果您没有安装它,则当前未注册提供程序。
尝试将其添加到您的 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, Version=6.4.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)