1

部署应用程序后,我在 UAT 服务器上收到此错误。它适用于其他环境,包括 DEV 和 QA 服务器。

  • UAT 服务器是带有 SP2 64 位、.NET 4.0 和 IBM .Net 数据提供程序的 windows 2008 R2
  • DEV & QA box 有 windows 2003 SP2 32bit, .NET 4.0 和 IBM .Net Data Provider

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

任何人都可以帮助我吗?

4

1 回答 1

0

根据您使用的客户端访问版本,IBM.DB2.iSeries 组件可能工作也可能不工作。我们目前处于 V5R4,同时我们正在努力修复所有在 6.1 版本发布时出现问题的代码。V5R4 版本根本无法在 64 位上运行。我不确定更新的版本。

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

于 2012-10-06T22:11:52.843 回答