"Failed to find or load the registered .Net Framework Data Provider" IBM DB2 .NET 数据提供程序



部署应用程序后,我们的UAT服务器上出现此错误。它在包括DEV&QA服务器。

  • UAT服务器是windows 2008 R2,SP2 64位,.NET 4.0和IBM.NET数据提供程序
  • DEV&QA盒具有windows 2003 SP2 32位、.NET 4.0和IBM.NET数据提供程序

我们使用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数据提供程序

有人能帮我吗?

根据您使用的客户端访问版本,IBM.DB2.iSeries组件可能工作,也可能不工作。我们目前处于V5R4版本,而我们正忙于修复6.1版本发布时损坏的所有代码。V5R4版本在64位上根本不起作用。我不确定最近的版本。

您可以选择将项目设置为针对x86而不是X64、安腾或Any CPU进行编译。

最新更新