[英]Cannot Connect to Linux Oracle Databse with Perl Script after connecting with PuTTY
我有以下问题:
我目前在Windows 10计算机上使用PuTTY连接到我们的Linux服务器之一。 如果使用“标准” PuTTY连接,则没有问题:我可以登录并运行我的Perl脚本来访问Linux服务器上的Oracle数据库。 但是,最近我建立了一个新的PuTTY连接(我复制了上面使用的原始工作副本)。 与原始文件的唯一区别是,我在PuTTY配置窗口的Connection->SSH->Remote command
部分中输入了以下内容:
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
(如果在具有标准PuTTY连接的服务器上运行相同的env
命令,则存在$ORACLE_HOME
变量。)
只需注意:通过我创建的任何一个PuTTY会话在服务器上运行任何其他Perl脚本(不会访问Oracle数据库)都可以正常工作。
任何帮助,不胜感激。
在PuTTY中设置远程命令时,它将跳过默认$HOME
目录中存在的.bash_profile
运行。 这就是为什么您得到错误。
若要解决此问题,请在您的perl目录中放置.bash_profile
的副本,或在远程命令中添加命令以执行.bash_profile
好的,我有解决方案!...感谢所有答复。
基本上,我最初有以下命令:
cd ../home/code/project1/scripts/perl; / bin / bash(请参阅原始帖子)
为了使其正常工作,我将上述内容替换为
cd ../home/code/project1/scripts/perl; 来源〜/ .bash_profile; /斌/庆典
我也尝试过:
cd ../home/code/project1/scripts/perl; /斌/庆典; 来源〜/ .bash_profile
但这没有用。
希望这对某人有帮助。
Gauss76
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.