【发布时间】:2011-07-29 17:15:07
【问题描述】:
我正在使用 Cacti 脚本/命令方法来收集数据。我有一个连接到 Oracle 数据库并返回两个数字的 perl 脚本。此脚本在命令行 (Unix) 上运行时完美运行。
为了让这个 perl 脚本正常工作,我必须定义几个环境变量,以便它能够连接到 Oracle。
$ENV{ORACLE_HOME} = ...etc...
但是 - 当我在 Cacti 中创建一个数据输入方法来运行这个 perl 脚本时...我收到一个错误,指出它无法找到 DBD/Oracle.pm。 (这是因为 Perl 没有设置环境变量)。
有谁知道为什么在我在命令行上运行时正确设置了 ENV 变量?
但是当 Cacti 运行时它们不能设置?
顺便说一句 - Cacti 正在以 root 身份运行 perl 脚本。
【问题讨论】:
-
您能告诉我们您的 Oracle.pm 的位置并给我们看脚本吗?
-
$ORACLE_HOME 不会影响 perl 查找
DBD/Oracle.pm的能力。如果use DBD::Oracle报告Cant' locate DBD/ORacle.pm in ...,则@INC设置不正确。查看环境变量$PERL5LIB和$PERLLIB的设置,它们会影响@INC的初始设置。总的来说,我发现一旦安装了DBD::Oracle,就不需要设置$ORACLE_HOME就可以使用了。
标签: perl environment-variables cacti