部署应用程序后,我在UAT服务器上收到此错误。它适用于其他环境,包括DEV& QA服务器。
我们使用Enterprise Library 5.0。这是web.config中的配置:
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</configSections>
<connectionStrings>
<add name="DatabaseServer" connectionString="Server=XXX;Database=XXXX;UID=XXXX;PWD=XXXX;" providerName="IBM.Data.DB2" />
</connectionStrings>
<dataConfiguration defaultDatabase="DatabaseServer"/>
<system.data>
<DbProviderFactories>
<remove invariant="IBM.Data.DB2"></remove>
<add name="IBM DB2 .NET Data Provider" invariant="IBM.Data.DB2" description="IBM DB2 Data Provider for .NET Framework 2.0" type="IBM.Data.DB2.DB2Factory, IBM.Data.DB2, Version=9.0.0.2, Culture=neutral, PublicKeyToken=7c307b91aa13d208"/>
</DbProviderFactories>
</system.data>
它工作正常并连接到32位服务器上的数据库。我开发了一个Windows应用程序来测试64位服务器上的数据库连接,并包含app.config中的所有配置。这也很有效,但是当通过IIS访问网站时,它会抛出这个错误:
无法找到或加载已注册的.Net Framework数据提供程序
有人可以帮我吗?
答案 0 :(得分:0)
根据您使用的客户端访问版本,IBM.DB2.iSeries组件可能有效,也可能无效。我们目前正处于V5R4,而我们争先恐后地修复了6.1版本发布时我们遇到的所有代码。 V5R4版本在64位上根本不起作用。我不确定最近的版本。
您可以选择将项目设置为针对x86而不是X64,Itanium或任何CPU进行编译。