安装DBD :: Oracle时出错

Man*_*nde 8 linux oracle perl cpan

我正在尝试在我的RHEL6.1服务器上安装Perl模块DBD :: Oracle.在这样做的同时,我遵循了以下步骤:

  1. 安装以下RPM:

    • 甲骨文instantclient12.1-基本-12.1.0.2.0-1.x86_64.rpm
    • 甲骨文instantclient12.1-devel的-12.1.0.2.0-1.x86_64.rpm
    • 甲骨文instantclient12.1-sqlplus中,12.1.0.2.0-1.x86_64.rpm
  2. 导出环境变量

    export ORACLE_HOME=/usr/lib/oracle/12.1/client64

    export LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib

  3. 安装DBD :: Oracle

    cpan -i DBD::Oracle

这样做时,它会给出以下错误消息:

Installing on a linux, Ver#2.6
Using Oracle in /usr/lib/oracle/12.1/client64
DEFINE _SQLPLUS_RELEASE = "1201000200" (CHAR)
Oracle version 12.1.0.2 (12.1)

        Unable to locate an oracle.mk or other suitable *.mk
        file in your Oracle installation.  (I looked in
        /usr/lib/oracle/12.1/client64/rdbms/demo/demo_xe.mk /usr/lib/oracle/12.1/client64/rdbms/lib/oracle.mk /usr/lib/oracle/12.1/client64/rdbms/demo/oracle.mk /usr/lib/oracle/12.1/client64/rdbms/demo/demo_rdbms.mk /usr/lib/oracle/12.1/client64/rdbms/demo/demo_rdbms64.mk /usr/lib/oracle/12.1/client64/rdbms/lib/ins_rdbms.mk /usr/share/oracle/12.1/client64/demo.mk under /usr/lib/oracle/12.1/client64)

        The oracle.mk (or demo_rdbms.mk) file is part of the Oracle
        RDBMS product.  You need to build DBD::Oracle on a
        system which has one of these Oracle components installed.
        (Other *.mk files such as the env_*.mk files will not work.)
        Alternatively you can use Oracle Instant Client.

        In the unlikely event that a suitable *.mk file is installed
        somewhere non-standard you can specify where it is using the -m option:
                perl Makefile.PL -m /path/to/your.mk

        See the appropriate README file for your OS for more information and some alternatives.

     at Makefile.PL line 1187.
Warning: No success on command[/usr/bin/perl Makefile.PL INSTALLDIRS=site]
  PYTHIAN/DBD-Oracle-1.74.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- NOT OK
Running make test
  Make had some problems, won't test
Running make install
  Make had some problems, won't install
Run Code Online (Sandbox Code Playgroud)

安装过程有什么问题?我按照这个指南.

Mig*_*Prz 24

安装和设置Oracle Instant Client后,使用不带cpan工具的常规构建步骤,并将-l选项传递给Makefile.PL

  1. 下载tar.gz包并打开包装

  2. 建立它

    perl Makefile.PL -l
    make && make test
    
    Run Code Online (Sandbox Code Playgroud)
  3. 安装

    make install
    
    Run Code Online (Sandbox Code Playgroud)


Qui*_*Fix 14

实际上如果你想使用rpms和cpan来安装,你必须将ORACLE_HOME设置为lib文件夹,而不仅仅是client64并将sqlplus添加到路径:

export ORACLE_HOME=/usr/lib/oracle/12.1/client64/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/oracle/12.1/client64/lib/
export PATH=$PATH:/usr/lib/oracle/12.1/client64/bin
Run Code Online (Sandbox Code Playgroud)

用它cpan -i DBD::Oracle返回没有错误.