Perl DBD :: Oracle模块安装 [英] Perl DBD::Oracle Module installation
问题描述
有人可以指导我如何安装Perl DBD::Oracle
模块吗?
Could someone guide me how to install the Perl DBD::Oracle
module?
这是我到目前为止所做的:
Here is what I have done so far:
- 平台:RHEL 5.8 64位
- 已安装的Perl DBI软件包
- 为Linux 64位(即时客户端的basi + sdk + sqlplus组件)安装了Oracle Instant Client
- 已设置正确的
$ORACLE_HOME
和$LD_LIBRARY_PATH
-
然后,当我执行
perl Makefile.pl
时,它失败并显示以下错误:
- Platform: RHEL 5.8 64 bit
- Installed Perl DBI package
- Installed Oracle Instant client for Linux 64 bit (basi + sdk + sqlplus component for the instant client
- Have set the correct
$ORACLE_HOME
and$LD_LIBRARY_PATH
Then when I do
perl Makefile.pl
it fails with the following error:
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 instant client version: 11.1.0
如果您已经成功安装了Oracle Instant Client,那么请让我知道我缺少什么了吗?
If you have installed successfully with the Oracle instant client, then could you please let me know what am I missing?
是否可以在不使用Oracle Instant Client的情况下安装DBD::Oracle
?
Is it possible to install DBD::Oracle
without using the Oracle instant client?
推荐答案
- 如果缺少ExtUtils-MakeMaker模块(
sudo yum install perl-ExtUtils-MakeMaker
),请安装 - 安装Perl DBI模块(
$ yum install perl-DBI
) -
为Oracle Instant Client手动安装以下三个RPM(来自适用于Linux x86-64的即时客户端下载.该示例适用于v11.2.0.3.0-1:将以下命令调整为实际版本.
- Install if missing ExtUtils-MakeMaker module (
sudo yum install perl-ExtUtils-MakeMaker
) - Install Perl DBI module (
$ yum install perl-DBI
) Manually install below three RPMs for Oracle instant client (from Instant Client Downloads for Linux x86-64. The example is for v11.2.0.3.0-1: adapt the commands below to the actual version.)
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
-
设置以下变量:
set below variables:
我使用的是64位Linux机器,因此请相应地选择RPM文件名.像
sudo yum -y install oracle-instantclient*rpm
这样的东西)I am using 64 bit Linux box, so select your RPM filenames accordingly. Something like
sudo yum -y install oracle-instantclient*rpm
should do)export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib export ORACLE_HOME=/usr/lib/oracle/11.2/client64
MacOS用户将需要:
MacOS users will need:
DYLD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/
还要在您的
PATH
变量中添加ORACLE_HOME
.Also add
ORACLE_HOME
to yourPATH
variable.从 CPAN
在模块旁运行并按给定顺序运行以下命令:
untar the module and run below commands in given sequence:
perl Makefile.PL make sudo make install
- Install if missing ExtUtils-MakeMaker module (
如果您抱怨缺少gcc,可以(暂时)安装它,然后将其删除.
In case you get complaints about missing gcc you can (temporarily) install it and then remove it.
完成!!!
我遇到的问题是由于错误的LD_LIBRARY_PATH
造成的.我已将其设置为/usr/lib/oracle/11.2/client64
,而正确的值是/usr/lib/oracle/11.2/client64/lib
.
Issues I had faced were due to the wrong LD_LIBRARY_PATH
. I had set it to /usr/lib/oracle/11.2/client64
whereas the correct value is /usr/lib/oracle/11.2/client64/lib
.
当然,对于像我这样的新手来说,这是一次很棒的学习.
Certainly, this was a great learning for a newbie like me.
这篇关于Perl DBD :: Oracle模块安装的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!