2009-06-15 2 views
0

Как отметил титул на вопрос, я пытаюсь подключиться к базе данных Oracle из службы Windows, и я получаю следующее сообщение об ошибке:Oracle OCIEnvNlsCreate ошибки при подключении от службы Windows

System.Exception : Ошибка OCIEnvNlsCreate с кодом возврата -1, но текст сообщения об ошибке недоступен.

Другие приложения на одном компьютере подключаются к Oracle без каких-либо проблем, и я попытался запустить службу как в локальной системе, так и с использованием собственных учетных данных пользователя. Есть идеи, как решить эту ситуацию?

ответ

1

Эта ошибка возникает с рядом связанных проблем, любой из которых может быть вашим.

  1. Необходимо проверить правильность настроек oracle переменных Enviornment в настройках ваших окон. Примеры включают TWO_TASK, TNS_ADMIN и NLS_LANG.

  2. Если у вас несколько установок Oracle, ваша программа может не найти правильный ORACLE_HOME и соответствующие библиотеки (DLL). Убедитесь, что у вас также установлены PATH и ORACLE_HOME.

+0

На моей машине разработки действительно несколько установок Oracle, есть ли обходной путь для этой ситуации? – rjzii

+0

Перейдите в меню «Пуск»> «Панель управления», выберите «Системный апплет». На вкладке «Дополнительно» есть кнопка «Переменные среды». Это позволит вам установить переменные для вас и системы. Убедитесь, что путь ORACLE_HOME является первым в PATH. Вы можете установить переменные на пользователя (например, вы или локальная система), но я не знаю, как их установить для пользователя локальной системы. Спросите, что стек переполняет мозговое доверие. –

+0

Спасибо, потому что вопрос, кажется, немного длиннее строк вопросов системного администрирования, которые я ушел, и открыл вопрос о Serverfault - http://serverfault.com/questions/30283/how-do-i -set-the-oraclehome-variable-for-the-local-system-account - так что мы увидим, как все идет. – rjzii