有人可以指导我如何安装 PerlDBD::Oracle
module?
这是我到目前为止所做的:
- 平台:RHEL 5.8 64 位
- 安装 Perl DBI 包
- 安装了适用于 Linux 64 位的 Oracle Instant 客户端(即时客户端的 basic + sdk + sqlplus 组件
- 已设置正确
$ORACLE_HOME
and $LD_LIBRARY_PATH
-
然后当我这样做时perl Makefile.pl
它失败并出现以下错误:
I'm having trouble finding your Oracle version number... trying harder
WARNING: I could not determine Oracle client version so I'll just
default to version 8.0.0.0. Some features of DBD::Oracle may not work.
Oracle version based logic in Makefile.PL may produce erroneous results.
You can use "perl Makefile.PL -V X.Y.Z" to specify a your client version.
Oracle version 8.0.0.0 (8.0)
DBD::Oracle no longer supports Oracle client versions before 9.2
Try a version before 1.25 for 9 and 1.18 for 8! at Makefile.PL line 271.
即时客户端版本:11.1.0
- The
DBD::Oracle
版本是1.44
如果您已成功安装 Oracle 即时客户端,那么您能告诉我我缺少什么吗?
是否可以安装DBD::Oracle
不使用 Oracle 即时客户端?
- 如果缺少 ExtUtils-MakeMaker 模块,请安装 (
sudo yum install perl-ExtUtils-MakeMaker
)
- 安装 Perl DBI 模块(
$ yum install perl-DBI
)
-
为 Oracle 即时客户端手动安装以下三个 RPM(来自适用于 Linux x86-64 的即时客户端下载 http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html。该示例适用于 v11.2.0.3.0-1:将以下命令调整为实际版本。)
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 文件名。就像是sudo yum -y install oracle-instantclient*rpm
应该做)
-
设置以下变量:
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
MacOS 用户将需要:
DYLD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/
还添加ORACLE_HOME
给你的PATH
多变的。
下载DBD::甲骨文 from CPAN http://search.cpan.org/
-
解压模块并按给定顺序运行以下命令:
perl Makefile.PL
make
sudo make install
如果您收到有关缺少 gcc 的投诉,您可以(暂时)安装它,然后将其删除。
DONE !!!
我遇到的问题是由于错误的LD_LIBRARY_PATH
。我已将其设置为/usr/lib/oracle/11.2/client64
而正确的值是/usr/lib/oracle/11.2/client64/lib
.
当然,对于像我这样的新手来说,这是一次很好的学习。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)