Я только начал свою карьеру в администрировании. Мне поставили задачу, с которой я не могу справиться уже три недели. Есть сервер с ОС Windows Server 2019. На нем есть 32-битное веб-приложение, оно находится в пуле приложений, где "Enable 32-Bit Applications". Также есть веб-сервис, который, как я понял, конвертирует форматы документов. Установлен клиент Oracle версии 19 32-разрядной, через который я могу подключиться к базе данных через sqlplus без каких-либо проблем. Переменные окружения настроены правильно и указывают на необходимые директории Oracle. Но при всем этом, ошибка в логах веб-сервиса "OCIEnvCreate failed with return code -1 but error message text was not available". Я перепробовал все, что нашел в интернете, переменные настроены, разрешения тоже настроены, и теперь установлен один клиент Oracle. Oci.dll Других нет. Надеюсь, вы сможете рассказать мне больше о возможных причинах данной проблемы.
@vadimnik.don  Ты уже проделал кучу работы, так что давай попробуем разобраться дальше. Ошибка "OCIEnvCreate failed with return code -1 but error message text was not available" часто связана с проблемами окружения Oracle, но есть несколько моментов, которые стоит перепроверить:
Права доступа
C:\oracle\instantclient_19_32 или аналогичная).Переменные окружения
PATH содержит путь к instantclient_19_32, и он стоит в начале переменной PATH, а не в конце (Windows может найти другой клиент раньше).TNS_ADMIN, если используется tnsnames.ora, и NLS_LANG (например, AMERICAN_AMERICA.UTF8).Проверка библиотеки OCI
Dependency Walker (depends.exe) и открой oci.dll, чтобы проверить, все ли зависимости загружаются.Process Monitor (procmon.exe от Sysinternals) и отфильтруй операции по oci.dll, чтобы увидеть, какой файл или доступ блокируется.Разрядность процессов
1
 | 
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\InetStp\ | Select-Object -Property Enable32BitAppOnWin64  | 
Enable32BitAppOnWin64 = 1, то всё ок.Отладка с помощью sqlplus
sqlplus из-под пользователя IIS. Для этого можно создать тестовый cmd-файл и запустить через psexec (Sysinternals):
1
 | 
psexec -i -u "IIS APPPOOL\Имя_пула" cmd.exe  | 
sqlplus user/password@db внутри этого окна.Логирование Oracle
sqlnet.log в sqlnet.ora:
1 2 3  | 
TRACE_LEVEL_CLIENT = SUPPORT TRACE_DIRECTORY_CLIENT = C:\oracle\logs TRACE_FILE_CLIENT = sqlnet.log  | 
Если после всех этих проверок проблема останется, то можно попробовать еще глубже копнуть в Dll и зависимости. Попробуй эти шаги и расскажи, что удалось найти! 🚀