Não é possível acessar o Oracle Databse do Linux com o Perl Script depois de conectar-se ao PuTTY

0

Eu tenho o seguinte problema: Eu atualmente me conecto a um dos nossos servidores Linux usando o PuTTY na minha máquina Windows 10. Se eu usar uma conexão PuTTY "padrão", não tenho problema: posso fazer login e executar meu script Perl para acessar um banco de dados Oracle no servidor Linux. No entanto, recentemente eu configurei uma nova conexão PuTTY (eu copiei a cópia de trabalho original usada acima). A única diferença do original é que eu digitei o seguinte na seção "Conexão- > SSH- > Comando Remoto" da janela de configuração do PuTTY:

cd ../home/code/project1/scripts/perl ; /bin/bash

(Eu fiz isso então chego diretamente na pasta contendo todos os meus scripts.)

Ainda posso entrar no servidor sem problemas e ele me leva direto para a pasta que contém meus scripts Perl. No entanto, quando executo o script para acessar o banco de dados Oracle, recebo o seguinte erro:

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.

Além disso, se eu executar o comando 'env' no servidor, a variável $ ORACLE_HOME não será listada (se eu executar o mesmo comando 'env' no servidor com a conexão padrão PuTTY, a variável $ ORACLE_HOME estará presente).

Apenas para observar: A execução de qualquer outro script Perl no servidor (que NÃO acessa o banco de dados Oracle) por meio de uma das sessões do PuTTY que eu criei funciona sem problemas.

    
por gauss76 19.07.2017 / 09:48

1 resposta

0

OK, eu tenho a solução! ... Obrigado a todos que responderam.

Basicamente, eu originalmente tinha o comando:

cd ../home/code/project1/scripts/perl ; /bin/bash (See original post)

Para fazê-lo funcionar, substituí o anterior por

cd ../home/code/project1/scripts/perl; source ~/.bash_profile; /bin/bash

Eu também tentei:

cd ../home/code/project1/scripts/perl; /bin/bash; source ~/.bash_profile

Mas isso não funcionou.

    
por 20.07.2017 / 16:54