У меня следующая проблема: в настоящее время я подключаюсь к одному из наших серверов Linux, используя PuTTY на моем компьютере с Windows 10. Если я использую «стандартное» соединение PuTTY, у меня нет проблем: я могу войти и запустить свой Perl-скрипт для доступа к базе данных Oracle на сервере Linux. Однако недавно я установил новое соединение PuTTY (я скопировал оригинальную рабочую копию, использованную выше). Единственное отличие от оригинала состоит в том, что я ввел следующее в разделе «Соединение-> SSH-> Удаленная команда» окна конфигурации PuTTY:
cd ../home/code/project1/scripts/perl ; /bin/bash
(Я сделал это, поэтому попадаю прямо в папку, содержащую все мои скрипты.)
Я все еще могу без проблем войти на сервер, и он сразу переходит в папку, содержащую мои Perl-скрипты. Однако, когда я запускаю скрипт для доступа к базе данных Oracle, я получаю следующую ошибку:
DBI connect('server1/dbname','username',...) failed: ERROR OCIEnvNlsCreate. Check ORACLE_HOME (Linux) env var or PATH (Windows) and or NLS settings, permissions, etc. at PerlDBFile1.pl line 10.
impossible de se connecter à server1 / dbname at PerlDBFile1.pl line 10, <DATA> line 1.
Кроме того, если я запускаю команду 'env' на сервере, переменная $ ORACLE_HOME не отображается (если я запускаю ту же команду 'env' на сервере со стандартным соединением PuTTY, присутствует переменная $ ORACLE_HOME.)
Просто обратите внимание: запуск любого другого сценария Perl на сервере (который НЕ имеет доступа к базе данных Oracle) через один из созданных мной сеансов PuTTY работает без проблем.