SQL1159 Ошибка инициализации с поставщиком данных DB2 .NET, код причины 7, токены 9.5.0.DEF.2, ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ\IBM\DB2\InstalledCopies

Я пытаюсь заставить поставщика данных DB2 из 32-разрядного приложения .Net подключиться к DB2, работающему как 32-разрядное приложение в Vista 64 (это уже достаточно запутанно)? К сожалению, я получаю следующую ошибку:

SQL1159 Ошибка инициализации с поставщиком данных DB2 .NET, код причины 7, токены 9.5.0.DEF.2, ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ\IBM\DB2\InstalledCopies

Об этом упоминается в нескольких сообщениях на форуме IBM. , но мало полезного руководства. Кто-нибудь испытал это раньше? Или у вас есть идеи получше, как это исправить?


person jsight    schedule 27.08.2008    source источник


Ответы (10)


Требуется ли, чтобы он работал как x86? У меня были аналогичные проблемы с веб-приложениями на веб-сервере разработки Visual Studio (который является x86), но мне помогло переключение на IIS (x64). Поскольку я выполнял развертывание в IIS x64, я на этом остановился.

Я попытался выполнить трассировку с помощью Filemon и Regmon, но не получил никаких ошибок отказа или отсутствия ключей. Если бы я посмотрел еще раз, я бы проверил HKLM\Software\WOW6432Node, предполагая, что установщик пишет в узел HKLM\Software x64, а не в узел x86.

person Mark Brackett    schedule 27.08.2008

Я смутно припоминаю, что у меня была похожая проблема с драйвером oledb DB2 для as/400 при попытке настроить связанный сервер с sql 2005 на as/400. Это была проблема с разрешениями, и в конце концов я обнаружил, что только учетные записи сервера sql (не Windows) могут использовать связанный сервер, потому что (я думаю) тогда драйвер загружался с использованием учетных данных sql вместо олицетворенных. Если это работает, когда «запускается от имени» администратора, то это должны быть разрешения.

person Booji Boy    schedule 27.08.2008

Я полагаю, вы видели описание SQL1159 в Справочное руководство по DB2?

К сожалению для вас, коды причин заканчиваются на 6 и не продолжаются на 7. Там написано:

Действия пользователя: При установке DB2 возникла проблема. Если DB2 устанавливается на этот компьютер впервые, просмотрите журналы установки на наличие возможных ошибок и запустите восстановление DB2 с помощью апплета панели управления «Установка и удаление программ». По умолчанию журналы установки располагаются в папке My Documents/DB2LOG пользователя, выполнившего установку. Если это не решит проблему, обратитесь в службу поддержки IBM и укажите код причины, связанный с этим сообщением, вместе со всеми журналами установки.

Поэтому я думаю, попробуйте переустановить его, и если проблема не исчезнет, ​​вам придется связаться с IBM.

Извини, я знаю, что это мало поможет.

person Michael Sharek    schedule 27.08.2008

Я удалил предыдущую 32-битную версию, переустановил как 64-битную, и теперь я получаю совершенно другую ошибку. Упоминается, что для исправления требуется FP2, но, поскольку я использую Express-C, я не могу установить пакет исправлений (IBM не предоставляет пакеты исправлений для бесплатных продуктов DB2). В любом случае спасибо за помощь. По крайней мере, теперь я могу приблизиться к подключению. :)

person jsight    schedule 28.08.2008

Я также столкнулся с этой ошибкой на сервере Windows 2003 x86. Изначально моя проблема была

Не удалось найти запрошенный поставщик данных .net framework. он может быть не установлен.

что привело к комментариям о том, что в c:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config отсутствуют необходимые записи для раздела DbProviderFactories. И действительно, записей IBM DB2 там не было. Когда я вручную добавил запись, я столкнулся с этой вашей ошибкой, предполагая, что существует больше, чем просто редактирование machine.config.

Наконец, я удалил набор драйверов IBM DB2, перезагрузил систему, переустановил ее и правильно инициализировал соединения.

person icelava    schedule 31.10.2008

Просто в качестве быстрой заметки...

@Micheal: у вас есть ссылка на SQL1159 на документацию по версии 9.1
Документация по версии 9.5 соответствует коду причины 9
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.messages.sql.doc/doc/msql01159n.html

К сожалению, я думаю, что есть код 10-й причины, который там не задокументирован, но он есть в теме developerWorks
http://www.ibm.com/developerworks/wikis/display/DB2/DB2+и+.NET+FAQ#DB2and.NETFAQ-WhatisSQL1159InitializationError%3F

person Community    schedule 14.05.2009

У меня была такая же проблема с провайдером DB2 .net.

Если у вас 64-разрядная версия Windows, загрузите и установите клиент времени выполнения IBM Data Server (Windows AMD 64) версии 9.5
со страницы _https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?lang= en_US&source=swg-idsrc11&S_TACT=appddnet&S_CMP=ibm_im

Если вы запустите свою программу, вы получите следующее исключение

Необработанное исключение: Исключение System.Overflow: арифметическая операция привела к переполнению. в IBM.Data.DB2.DB2ConnPool.Open(соединение DB2Connection, StringszConnectionStringIn, DB2ConnSettings& ppSettings, Object& ppConn) в IBM.Data.DB2.DB2Connection.Open()

Загрузите и установите исправление для своей версии db2 с http://www-01.ibm.com/support/docview.wss?uid=swg1IZ09579

это решило бы проблему.

person Farshid    schedule 14.01.2010

Установите DB2 Express-C для win x64 версии 9.7.1, и все заработает.

person Farshid    schedule 19.01.2010

У меня была аналогичная проблема, моя машина 64-битная. Я установил как 32-битные, так и 64-битные клиенты времени выполнения db2, установил целевую структуру на 32-битную в своем проекте, у меня отлично сработало. Мне удалось запустить приложение на других 64/32-битных машинах, просто им нужно установить либо 32-битную, либо 64-битную версию из клиента времени выполнения db2, в зависимости от операционной системы машины.

person Amir Shenouda    schedule 24.03.2012

да. Это должно произойти в вашей Windows 7, а не в Windows XP. Суть это:

  • щелкните правой кнопкой мыши проект в обозревателе решений
  • Свойства
  • Вкладка "Компилировать" (слева)
  • Прокрутите вниз, чтобы увидеть кнопку Расширенная компиляция
  • Измените раскрывающийся список Target Cpu на x86.
person user3390382    schedule 06.03.2014