Не удалось найти или загрузить зарегистрированный поставщик данных .Net Framework с помощью поставщика данных IBM DB2 .NET.

Я получаю эту ошибку на нашем сервере UAT после развертывания приложения. Он отлично работает в других средах, включая серверы DEV и QA.

  • UAT Server - это Windows 2008 R2 с 64-битным пакетом обновления 2 (SP2), .NET 4.0 и IBM .Net Data Provider.
  • Устройства DEV и QA имеют Windows 2003 с 32-битным пакетом обновления 2 (SP2), .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

Кто-нибудь может мне помочь?


person user1660307    schedule 10.09.2012    source источник
comment
Для какой версии доступен клиентский доступ? (V5R4, V7R1 и т. Д.). IBM не совсем чтила проблему избегания dll hell со своим поставщиком, и версия имеет значение: www-01.ibm.com/support/   -  person David    schedule 07.10.2012
comment
Вы когда-нибудь находили ответ?   -  person Tab Alleman    schedule 19.01.2017


Ответы (1)


В зависимости от того, какую версию клиентского доступа вы используете, компонент IBM.DB2.iSeries может работать или не работать. На данный момент мы находимся на V5R4, пока мы пытаемся исправить весь код, который у нас был, который сломался, когда вышла версия 6.1. Версия V5R4 вообще не работает на 64-битной. Насчет более свежих версий я не уверен.

Один из вариантов, который у вас есть, - настроить ваш проект на компиляцию, ориентированную на x86, а не на X64, Itanium или любой процессор.

person David    schedule 06.10.2012