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

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

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

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

Ответы [ 10 ]

2 голосов
/ 27 августа 2008

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

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

1 голос
/ 27 августа 2008

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

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

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

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

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

1 голос
/ 27 августа 2008

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

0 голосов
/ 07 марта 2014

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

  • щелкните правой кнопкой мыши проект в обозревателе решений
  • Свойства
  • Закладка компиляции (левая сторона)
  • Прокрутите вниз, чтобы увидеть Расширенная опция компиляции кнопка
  • Измените выпадающий список Целевой процессор на x86.
0 голосов
/ 24 марта 2012

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

0 голосов
/ 19 января 2010

Установка DB2 Express-C для win x64, версия 9.7.1 и это будет работать

0 голосов
/ 14 января 2010

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

Если у вас Windows 64 bit, скачайте и установите Клиент времени выполнения 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 / поддержка / docview.wss? UID = swg1IZ09579

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

0 голосов
/ 15 мая 2009

Так же, как быстрая заметка ...

@ 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+and+.NET+FAQ#DB2and.NETFAQ-WhatisSQL1159InitializationError%3F

0 голосов
/ 31 октября 2008

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

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

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

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

0 голосов
/ 28 августа 2008

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

...