SQL1159 Ошибка инициализации с поставщиком данных DB2 .NET, код причины 2 - PullRequest
12 голосов
/ 20 сентября 2011

Я пытаюсь подключиться к DB2 из приложения .NET 2.0 на моей машине разработки под управлением Windows 7 64 бит.

Я получаю эту ошибку в открытом методе.Не удалось найти решение.

ExceptionType: InvalidOperationException ExceptionMessage: SQL1159 Ошибка инициализации с поставщиком данных DB2 .NET, код причины 2, токены D: ....................... \ bin \ db2app.dll, StackTrace: в IBM.Data.DB2.DB2ConnPool.Open (соединение DB2Connection, String & szConnectionString, DB2ConnSettings & ppSettings, Object & ppConn) в IBM.Data.DB2.DB2Connection.Open ()

Ответы [ 4 ]

10 голосов
/ 28 сентября 2011

Узнал об этом от моего коллеги. Проблема была в том, что db2app.dll отсутствовал в каталоге bin папки приложения.

Скопировал db2app.dll и db2app64.dll из C: \ Program Files \ IBM \ SQLLIB \ BIN в папку bib приложения, и все заработало.

2 голосов
/ 23 сентября 2011

См. «Ответ пользователя» внизу IBM doc для SQL1159N , в котором также перечислены различные причины, по которым вы можете получить этот код ошибки:

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

1 голос
/ 16 апреля 2015

У меня был 32-битный клиент DB2, и я обращался к нему из веб-приложения, размещенного в IIS, используя пул приложений (для параметра «Включить 32-битное приложение» задано значение false). В этом случае 64-битный клиент (db2app64.dll) ожидается, пока db2app.dll выдаст ошибку выше.

Просто к вашему сведению .. Эту ошибку трудно отладить в Visual Studio, поскольку по умолчанию IIS Express использует 32-разрядный пул приложений. Чтобы изменить его на 64-битный, необходимо внести изменения в реестр (установите Use64BitIISExpress на 1). Для IIS Express нет inetmgr.

0 голосов
/ 26 августа 2014

После разговора с IBM они настоятельно рекомендуют не помещать библиотеки IBM в папку bin.Мы разрешаем IBM удаленно настраивать наш сервер, и теперь все работает хорошо, и мы не должны помещать ibm * .dll в наши папки bin, иначе он не будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...