2014-02-28 136 views
-2

我想通過Perl連接到Oracle數據庫。對於這一點,我試圖通過使用下面的命令從CPAN安裝DBD ::甲骨文:DBD :: Oracle安裝導致錯誤

[[email protected] Admin]# cpan DBD::Oracle 

我的Linux終端上運行上面的命令時,我得到了以下錯誤:

[[email protected] Admin]# cpan DBD::Oracle 
CPAN: Storable loaded ok (v2.45) 
Going to read '/root/.cpan/Metadata' 
    Database was generated on Thu, 27 Feb 2014 06:17:02 GMT 
Running install for module 'DBD::Oracle' 
CPAN: YAML loaded ok (v0.88) 
Running make for P/PY/PYTHIAN/DBD-Oracle-1.70.tar.gz 
CPAN: Digest::SHA loaded ok (v5.47) 
CPAN: Compress::Zlib loaded ok (v2.063) 
Checksum for /root/.cpan/sources/authors/id/P/PY/PYTHIAN/DBD-Oracle-1.70.tar.gz ok 
DBD-Oracle-1.70/ 
DBD-Oracle-1.70/lib/ 
DBD-Oracle-1.70/lib/DBD/ 
DBD-Oracle-1.70/lib/DBD/Oracle.pm 
DBD-Oracle-1.70/lib/DBD/Oracle/ 
DBD-Oracle-1.70/lib/DBD/Oracle/GetInfo.pm 
DBD-Oracle-1.70/lib/DBD/Oracle/Troubleshooting/ 
DBD-Oracle-1.70/lib/DBD/Oracle/Troubleshooting/Win32.pod 
DBD-Oracle-1.70/lib/DBD/Oracle/Troubleshooting/Vms.pod 
DBD-Oracle-1.70/lib/DBD/Oracle/Troubleshooting/Hpux.pod 
DBD-Oracle-1.70/lib/DBD/Oracle/Troubleshooting/Aix.pod 
DBD-Oracle-1.70/lib/DBD/Oracle/Troubleshooting/Sun.pod 
DBD-Oracle-1.70/lib/DBD/Oracle/Troubleshooting/Macos.pod 
DBD-Oracle-1.70/lib/DBD/Oracle/Troubleshooting/Linux.pod 
DBD-Oracle-1.70/lib/DBD/Oracle/Troubleshooting/Cygwin.pod 
DBD-Oracle-1.70/lib/DBD/Oracle/Troubleshooting/Win64.pod 
DBD-Oracle-1.70/lib/DBD/Oracle/Troubleshooting.pod 
DBD-Oracle-1.70/lib/DBD/Oracle/Object.pm 
DBD-Oracle-1.70/oci.def 
DBD-Oracle-1.70/Makefile.PL 
DBD-Oracle-1.70/MANIFEST 
DBD-Oracle-1.70/ocitrace.h 
DBD-Oracle-1.70/Changes 
DBD-Oracle-1.70/LICENSE 
DBD-Oracle-1.70/README.help.txt 
DBD-Oracle-1.70/README.mkdn 
DBD-Oracle-1.70/INSTALL 
DBD-Oracle-1.70/Oracle.xs 
DBD-Oracle-1.70/CONTRIBUTORS 
DBD-Oracle-1.70/META.json 
DBD-Oracle-1.70/oci8.c 
DBD-Oracle-1.70/META.yml 
DBD-Oracle-1.70/Oracle.h 
DBD-Oracle-1.70/dbivport.h 
DBD-Oracle-1.70/typemap 
DBD-Oracle-1.70/t/ 
DBD-Oracle-1.70/t/23wide_db_al32utf8.t 
DBD-Oracle-1.70/t/00versions.t 
DBD-Oracle-1.70/t/22nchar_al32utf8.t 
DBD-Oracle-1.70/t/31lob.t 
DBD-Oracle-1.70/t/lib/ 
DBD-Oracle-1.70/t/lib/ExecuteArray.pm 
DBD-Oracle-1.70/t/10general.t 
DBD-Oracle-1.70/t/28array_bind.t 
DBD-Oracle-1.70/t/26exe_array.t 
DBD-Oracle-1.70/t/14threads.t 
DBD-Oracle-1.70/t/rt74753-utf8-encoded.t 
DBD-Oracle-1.70/t/23wide_db.t 
DBD-Oracle-1.70/t/22nchar_utf8.t 
DBD-Oracle-1.70/t/31lob_extended.t 
DBD-Oracle-1.70/t/000-report-versions-tiny.t 
DBD-Oracle-1.70/t/12impdata.t 
DBD-Oracle-1.70/t/36lob_leak.t 
DBD-Oracle-1.70/t/24implicit_utf8.t 
DBD-Oracle-1.70/t/38taf.t 
DBD-Oracle-1.70/t/21nchar.t 
DBD-Oracle-1.70/t/70meta.t 
DBD-Oracle-1.70/t/15nls.t 
DBD-Oracle-1.70/t/39attr.t 
DBD-Oracle-1.70/t/rt85886.t 
DBD-Oracle-1.70/t/34pres_lobs.t 
DBD-Oracle-1.70/t/56embbeded.t 
DBD-Oracle-1.70/t/40ph_type.t 
DBD-Oracle-1.70/t/55nested.t 
DBD-Oracle-1.70/t/30long.t 
DBD-Oracle-1.70/t/32xmltype.t 
DBD-Oracle-1.70/t/58object.t 
DBD-Oracle-1.70/t/50cursor.t 
DBD-Oracle-1.70/t/80ora_charset.t 
DBD-Oracle-1.70/t/51scroll.t 
DBD-Oracle-1.70/t/01base.t 
DBD-Oracle-1.70/t/20select.t 
DBD-Oracle-1.70/t/nchar_test_lib.pl 
DBD-Oracle-1.70/t/23wide_db_8bit.t 
DBD-Oracle-1.70/t/60reauth.t 
DBD-Oracle-1.70/t/rt13865.t 
DBD-Oracle-1.70/t/25plsql.t 
DBD-Oracle-1.70/examples/ 
DBD-Oracle-1.70/examples/japh 
DBD-Oracle-1.70/examples/oradump.pl 
DBD-Oracle-1.70/examples/ora_explain.pl 
DBD-Oracle-1.70/examples/commit.pl 
DBD-Oracle-1.70/examples/bind.pl 
DBD-Oracle-1.70/examples/curref.pl 
DBD-Oracle-1.70/examples/ex.pl 
DBD-Oracle-1.70/examples/read_long_via_blob_read.pl 
DBD-Oracle-1.70/examples/tabinfo.pl 
DBD-Oracle-1.70/examples/proc.pl 
DBD-Oracle-1.70/examples/sql 
DBD-Oracle-1.70/examples/mktable.pl 
DBD-Oracle-1.70/examples/inserting_longs.pl 
DBD-Oracle-1.70/examples/README 
DBD-Oracle-1.70/mkta.pl 
DBD-Oracle-1.70/Todo 
DBD-Oracle-1.70/dbdimp.h 
DBD-Oracle-1.70/hints/ 
DBD-Oracle-1.70/hints/macos_syms.pl 
DBD-Oracle-1.70/hints/macos_bundle.syms 
DBD-Oracle-1.70/hints/macos_lib.syms 
DBD-Oracle-1.70/hints/dgux.pl 
DBD-Oracle-1.70/hints/svr4.pl 
DBD-Oracle-1.70/dbdimp.c 
DBD-Oracle-1.70/README 
CPAN: File::Temp loaded ok (v0.22) 

    CPAN.pm: Going to build P/PY/PYTHIAN/DBD-Oracle-1.70.tar.gz 

Using DBI 1.609 (for perl 5.010001 on x86_64-linux-thread-multi) installed in /usr/lib64/perl5/auto/DBI/ 

Configuring DBD::Oracle for perl 5.010001 on linux (x86_64-linux-thread-multi) 

Remember to actually *READ* the README file! Especially if you have any problems. 

Trying to find an ORACLE_HOME 
Your LD_LIBRARY_PATH env var is set to '' 

     The ORACLE_HOME environment variable is not set and I couldn't guess it. 
     It must be set to hold the path to an Oracle installation directory 
     on this machine (or a machine with a compatible architecture). 
     See the appropriate README file for your OS for more information. 
     ABORTED! 

Warning: No success on command[/usr/bin/perl Makefile.PL INSTALLDIRS=site] 
    PYTHIAN/DBD-Oracle-1.70.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 
[[email protected] Admin]# 

目前我正在使用LINUX CentOS。在我的機器上,我已經使用SQLDeveloper連接到Oracle數據庫,但我不知道ORACLE_HOME是否已設置,因爲我沒有安裝該數據庫。

有沒有人遇到過同樣的問題?請告訴我如何解決這個錯誤。

回答

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_HOMEPATH變量。下載DBD ::甲骨文CPAN

  • 解壓模塊和運行,下面給出命令序列

  • perl Makefile.PL 
    make 
    make install 
    

    或者您可以使用cpan命令安裝模塊

DONE !!!

+0

你能告訴我如何安裝這些RPM的? – Ram

+0

我的數據庫版本是'11.2.0.1.0' – Ram

+0

我的數據庫是Oracle。爲什麼我們安裝'oracle-instantclient11.2 -sqlplus-11.2.0.3.0-1'這個rpm?你可以澄清我請我請你 – Ram

0

感謝您的信息!我注意到在/ usr中安裝了oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm。因此,像這樣添加一個軟鏈接幫助我解決了這個問題。

須藤LN -s /usr/include/oracle/11.2/client64 $ ORACLE_HOME /包括