>平台:RHEL 5.8 64位
>安装Perl DBI包
>安装Oracle Instant Client for Linux 64位(即时客户端的basi sdk sqlplus组件)
>设置正确的$ ORACLE_HOME和$ LD_LIBRARY_PATH
>然后当我做“perl Makefile.pl”它失败,下面的错误:
我无法找到您的Oracle版本号码…努力尝试
警告:我无法确定Oracle客户端版本,所以我只是
默认为8.0.0.0。 DBD :: Oracle的某些功能可能无法正常工作。
Makefile.PL中基于Oracle版本的逻辑可能会产生错误的结果。
您可以使用“perl Makefile.PL -V X.Y.Z”指定客户端版本。
Oracle 8.0.0.0版(8.0)
DBD :: Oracle不再支持9.2之前的Oracle客户端版本
尝试版本1.25之前为9和1.18为8!在Makefile.PL第271行。
>我正在使用的即时客户端版本是11.1.0
> DBD :: Oracle版本是1.44
如果您已经成功安装了Oracle即时客户端,那么您可以让我知道我错过了什么。
OR,我可以安装DBD :: Oracle而不使用Oracle即时客户端?
谢谢。
解决方法
>安装Perl DBI模块($ yum install perl-DBI)
>手动安装低于3 rpms for oracle即时客户端(从http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html)
oracle-instantclient11.2-basic-11.2.0.3.0-1 oracle-instantclient11.2-devel-11.2.0.3.0-1 oracle-instantclient11.2-sqlplus-11.2.0.3.0-1
我正在使用64位linux框,因此请相应地选择您的RPM文件。
>设置以下变量:
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib ORACLE_HOME=/usr/lib/oracle/11.2/client64
MacOS用户将需要:
DYLD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/
还要将ORACLE_HOME添加到PATH变量中。
>从CPAN下载DBD :: Oracle
解压缩模块并按照给定的顺序运行以下命令:
perl Makefile.PL make make install
完成!!!
我遇到的问题是由于LD_LIBRARY_PATH错误。我把它设置为/usr/lib/oracle/11.2/client64,而正确的值是/usr/lib/oracle/11.2/client64/lib。
当然,对于像我这样的新手来说,这是一个很好的学习。