Thread: Обсуждение статей, опубликованных на данном сайте/Ошибка в SOAP при подключение к базе DB2 через ODBC драйвер

Ошибка в SOAP при подключение к базе DB2 через ODBC драйвер
Добрый день.
При подключение к базе DB2 через ODBC  в SOAP приложение выходит следующее сообщение
Specified driver could not be loaded due to system error 5 (IBM DB2 ODBC DRIVER)
Причем при прямом подключение к базе под тем же логином и паролем что в SOAP все проходит нормально, а когда это же приложение запускается как WEB сервис то выходит ошибка. SOAP приложение и DB2 на разных ПК.  Сейчас вроде бы успешно работают несколько сервисов при подключение к базам AS400, сейчас понадобилось добавить еще один, но цепляться надо к базе DB2 и вот такая незадача. OS на которой крутится SOAP W2K. Попробовал сделать тот же сервис на своей рабочей станции (WinXP Prof) все работает нормально, причем драйвер DB2 на моей станции на много старее чем на сервере. Может подскажете в каком направление искать ошибку.



[QUOTE Oleg Aysanof]При подключение к базе DB2 через ODBC  в SOAP приложение выходит следующее сообщение
Specified driver could not be loaded due to system error 5 (IBM DB2 ODBC DRIVER)

Может подскажете в каком направление искать ошибку.[/QUOTE]
Интересный вопрос. Причина думаю в правах...

1. Попробуйте учетной записи под которой Web Services запускаются на сервере (по умолчанию IUSR_machine name account дать все права). Если все заработает - дайте знать. Нет - продолжим "копать дальше"...

Good luck!

P.S. Sorry for delay with answer...



Если учетке IUSR_machine  дать полные права на каталог с драйверами DB2 ..\IBM\SQLLIB\ то текст ошибки меняется на следующий
Ошибка подключения:: [Microsoft][ODBC Driver Manager] Driver's SQLAllocHandle on SQL_HANDLE_ENV failed
стоит убрать права на каталог SQLLIB\ , текст ошибки меняется на старый.



[QUOTE Oleg Aysanof]Если учетке IUSR_machine  дать полные права на каталог с драйверами DB2 ..\IBM\SQLLIB\ то текст ошибки меняется на следующий
Ошибка подключения:: [Microsoft][ODBC Driver Manager] Driver's SQLAllocHandle on SQL_HANDLE_ENV failed
стоит убрать права на каталог SQLLIB\ , текст ошибки меняется на старый.[/QUOTE]
Я имел ввиду временно IUSR_machine зачислить в группу администраторов домена или конкретного сервера. Если все будет нормально, то далее искать в этом направлении...

Кстати драйвер DB2 был установлен администратором домена или сервера для всех пользователей?



Я понял что имелось виду, но решил что это слишком кардинальное решение. Ради эксперементя включил этого пользователя в локальную группу Администраторы на этом сервере, ошибка изначальная [:(]
Specified driver could not be loaded due to system error 5 (IBM DB2 ODBC DRIVER)

По поводу установки драйвера DB2 для всех пользователей, вот этого я не помню, надо будет это где-то проверить



[QUOTE Oleg Aysanof]Я понял что имелось виду, но решил что это слишком кардинальное решение. Ради эксперементя включил этого пользователя в локальную группу Администраторы на этом сервере, ошибка изначальная [:(]
Specified driver could not be loaded due to system error 5 (IBM DB2 ODBC DRIVER)

По поводу установки драйвера DB2 для всех пользователей, вот этого я не помню, надо будет это где-то проверить[/QUOTE]
Да, кстати, Web Services используют учетную запись по умолчанию IUSR_machine? Или Вы создали для этого специального пользователя?


У Вас "поднят" домен в сети, где находится сервер на котором стоит Web Service?

Хотя рекомендации от Microsoft Вы уже выполняли click
Для Oracle решение подобной проблемы click
А это похожее решение с сайта IBM click
[QUOTE Author]For the DB2 install, did you choose to create the local groups DB2ADMNS and DB2USERS? If so, add IUSR_computername to the DB2USERS group and restart IIS.

I tested your connection on my local winXP machine and received the same error you did. After I added that IUSR account, it worked.
[/QUOTE]



Огромное спасибо,  действительно добавил IUSR_.. в группу DB2USERS рестартанул IIS и все заработало чудесным образом.
Когда я добавлял интернетовскую учетку в локальную группу Администраторов, но не перезапустил IIS потому и был такой результат .
Попробовал запустить WEb  сервис на W2K3 по вашим рекомендациям и вроде бы работает, можно будет объединить DB2  и Web Services на одном хосте, а то приходилось держать отдельно для Web Services  сервак с W2K Server.  
Еще раз спасибо, c уважением Айсанов Олег.



[QUOTE Oleg Aysanof] Попробовал запустить WEb  сервис на W2K3 по вашим рекомендациям и вроде бы работает, можно будет объединить DB2  и Web Services на одном хосте, а то приходилось держать отдельно для Web Services  сервак с W2K Server.  
Еще раз спасибо, c уважением Айсанов Олег.[/QUOTE]В принципе логично - экономия средств клиента... Но если запросов к системе много, то лучше оставить два отдельных физических сервера, но решать Вам...

Good luck!