SQL1159 Ошибка инициализации с поставщиком данных DB2 .NET, код причины 7, токены 9.5.0.DEF.2, SOFTWARE \ IBM \ DB2 \ InstalledCopies

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

SQL1159 Initialization error with DB2 .NET Data Provider, reason code 7, tokens 9.5.0.DEF.2, SOFTWARE\IBM\DB2\InstalledCopies

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
0
22 469
10
Перейти к ответу Данный вопрос помечен как решенный

Ответы 10

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

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

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

User response: There was a problem with your DB2 installation. If this is the first time DB2 was installed on this computer, review the install logs for any possible errors and run a repair of DB2 from the Add/Remove Programs control panel applet. The default location of the installation logs is the My Documents/DB2LOG folder of the user that performed the installation. If this does not resolve the issue please contact IBM Support and provide the reason code associated with this message along with any installation logs.

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

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

Ответ принят как подходящий

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

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

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

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

Unable to find the requested .net framework data provider. it may not be installed.

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

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

Просто вкратце ...

@Micheal: ссылка, которую вы имели для SQL1159, - это версия 9.1 docs
В документации к версии 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

У меня была такая же проблема с поставщиком 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

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

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

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

Да. Это должно происходить в Windows 7, а не в Windows XP. Душа:

  • щелкните правой кнопкой мыши проект в обозревателе решений
  • Properties
  • Compile tab (левая сторона)
  • Прокрутите вниз, чтобы увидеть кнопку Advanced Compile option.
  • Измените раскрывающийся список Target Cpu на x86.

Другие вопросы по теме