Почему не может мой Perl сценарий CGI находить DBD Oracle?

Вы можете поймать исключение ValueError следующим образом:

try:

    #[code that could raise the error]

except ValueError as e:

    print("Residuals are not finite in the initial point. ...")
    #[do stuff I want when the Residuals are not finite]
5
задан brian d foy 16 November 2008 в 23:20
поделиться

3 ответа

То, что ошибка показывает полный путь.DLL, предполагает, что система не испытывает никаких затруднений при нахождении DLL, так, чтобы действительно поддержал теорию, что полномочия файла являются проблемой.

Чтобы протестировать, является ли это действительно проблемой полномочий, попытайтесь писать тривиальному Perl сценарий CGI, который делает только непосредственно открытый что определенный.DLL файл (с нормальным open звоните), и отчеты, работало ли это или нет.

2
ответ дан 15 December 2019 в 01:14
поделиться

Спасибо Alnitak. Я пытался делать то, что Вы предложили, и 'открытый' успешно открыл 'C:/usr/lib/auto/DBD/Oracle/Oracle.dll'. Я не забываю видеть эту точную ошибку, когда я разрабатывал на другой машине, но это было то, потому что Моментальный Клиент Oracle освобождает, отсутствовали на нем. После того, как я установил их и установил переменную 'Пути', все начало хорошо работать.

1
ответ дан 15 December 2019 в 01:14
поделиться

У меня была такая же проблема, когда при доступе к программе cgi perl через интерфейс сообщалось об ошибке «Install_driver (Oracle) failed: Can't load 'C: / Perl / lib / auto / DBD / Oracle / Oracle.dll 'для модуля DBD :: Oracle: load_file: Доступ запрещен в C: /Perl/lib/DynaLoader.pm строка 201 ".

Я использовал Perl 5.10 на Window 2003 Server с IIS 6.

Решением было дать разрешения на каталог Perl «всем», а также на папку установки Oracle.

1
ответ дан 15 December 2019 в 01:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: