代码之家  ›  专栏  ›  技术社区  ›  gauss76

连接PuTTY后,无法使用Perl脚本连接到Linux Oracle数据库

  •  0
  • gauss76  · 技术社区  · 8 年前

    我目前在我的Windows 10机器上使用PuTTY连接到我们的一个Linux服务器。如果我使用标准PuTTY连接,我没有问题:我可以登录并运行我的Perl脚本来访问Linux服务器上的Oracle数据库。然而,最近我建立了一个新的PuTTY连接(我复制了上面使用的原始工作副本)。与原件唯一不同的是,我在该部分输入了以下内容 Connection->SSH->Remote command PuTTY配置窗口的:

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

    (我已经这样做了,所以我直接进入包含我所有脚本的文件夹。)

    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连接的服务器上执行命令

    只需注意:通过我创建的PuTTY会话在服务器上运行任何其他Perl脚本(不访问Oracle数据库)都没有问题。

    非常感谢您的帮助。

    2 回复  |  直到 8 年前
        1
  •  0
  •   Lohit Gupta    8 年前

    在PuTTY中设置远程命令时,它跳过运行 .bash_profile 这在默认值中存在 $HOME 目录这就是为什么会出现错误。

    要解决此问题,请放置 或者添加一个要执行的命令 .bash\u配置文件

        2
  •  0
  •   gauss76    8 年前

    好的,我有办法了!。。。感谢所有回复的人。

    基本上,我最初有这个命令:

    为了让它工作,我用

    cd../home/code/project1/scripts/perl;来源~/。bash_剖面/箱子/bash

    我还尝试了:

    cd../home/code/project1/scripts/perl/bin/bash;源~/.bash_配置文件

    但这并不奏效。

    希望这对别人有帮助。

    高斯76