我必须将 /oracle/v10.2.0/lib 添加到 LD_LIBRARY_PATH 才能使用 DBI 模块连接到 Oracle。
如果我在执行 perl 脚本之前在 shell 中设置 LD_LIBRARY_PATH ,一切都很好。
但它不适用于脚本:
BEGIN {
$ENV{'LD_LIBRARY_PATH'}='/oracle/v10.2.0/lib';
}
use DBI;
当我执行脚本时,我收到错误:
install_driver(Oracle) 失败:无法为模块 DBD::Oracle:libclntsh.so.10.1 加载“/usr/apps/perl5/site_perl/5.8.8/i686-linux/auto/DBD/Oracle/Oracle.so” :无法打开共享对象文件:/usr/apps/perl5/5.8.8/i686-linux/DynaLoader.pm 第 230 行没有这样的文件或目录。在(eval 3)第 3 行编译失败(eval 3)第 3 行。可能在 /var/tmp/getTraceDB.pl 第 23 行的预期位置未安装所需的共享库或 dll