У меня есть сценарий perl, который подключается к базе данных Oracle, открывает текстовый файл и загружает данные из файла в таблицу базы данных, сценарий отлично работает на моей машине разработки (32-разрядная версия Windows XP), однако, когда я загружаю сценарий в производственный сервер (Windows 2003 64 бит) и запустить его из командной строки, он открывает perl.exe - не удается найти окна компонентов, говорится в сообщении.
Не удалось запустить это приложение, потому что не найден OCI.dll. Переустановка приложения может решить проблему.
Вывод командной строки:
install_driver (Oracle) не удалось: не удалось загрузить C: /Perl64/lib/auto/DBD/Oracle/Oracle.dll для модуля DBD :: Oracle: load_file:% 1 не является допустимым приложением Win32 в C: / Perl64 /lib/DynaLoader.pm строка 191. at (eval 14) line3 Ошибка компиляции в require в строке 3 (eval 14). 15
Я переустановил клиент oracle, я попытался удалить как активный perl, так и клиент oracle, а затем установить клиент oracle до того, как Perl услышал, что это может вызвать проблему.
Я подумал, что это могут быть разрешения, поэтому я написал простой скрипт perl для открытия в oci.dll и вызвал ошибку, если не смог, он смог открыть его правильно.
Я убедился, что C: \ oracle \ product \ 10.2.0 \ client_1 \ bin находится в переменной окружения PATH.
Я могу подключиться к базе данных с помощью SQLPlus
Я добавил OCI.dll в тот же каталог, что и сценарий perl.
и у меня, наконец, закончились идеи ... может кто-нибудь что-нибудь подсказать, я рву волосы, пытаясь заставить это работать.
Подробности Сервер работает под управлением ActivePerl 5.14.1 Build 1401 (64-разрядная версия) База данных Oracle - 10g Клиент Oracle - 10.2.0