最近开发了一个系统,在测试环境上进行部署(win7环境)并测试,没有发现问题;但是把系统部署到win Server2008R2上之后,部分页面就报“找不到请求的 .net Framework 数据提供程序。可能没有安装。”的错误,对服务器进行排查,服务器上的framework版本从2.0、3.5、4.0都进行了安装,而且开发的系统在使用SQL Server数据库的时候是可以正常部署的。最后判定是换了数据库(由SQL Server换成MYSQL)而导致的环境问题或者是配置问题,最后通过查找资料,修改了web.config节点问题得到解决,把MySQL相关的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, Version=6.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
其中包含了dll的名称、版本、PublicKeyToken信息,只要和自己添加的dll相对应就可以了。