ActivePerl版如下

基本上follow ReadMe.win32就可以了。如果報無法load Oracle.dll錯
VS 2008的情況要把redist下面的dll放到PATH里
如果再報R6034錯
運行mt.exe –manifest Oracle.dll.manifest -outputresource:Oracle.dll;2
把manifest加入Oracle.dll


Cygwin版如下

由于眾所周知的原因,DBD::Oracle不再提供dist版,而需要手動編譯。

這里列出安裝步驟
0.首先需要在cpan安裝DBI

1.運行Impdef.exe
    Impdel.exe oci.def oci.dll

2.取到oci.def到cygwin下運行
   
    dlltool --def oci.def --output-lib liboci.a -k

3.拷貝liboci.a到/usr/lib下和DBD::Oracle解壓縮目錄下

4.設置LD_RUN_PATH,這里是Oracle 10g

  export LD_RUN_PATH='你的Oracle目錄/client_1/LIB:你的Oracle目錄/client_1/RDBMS/XA'

5.在DBD::Oracle解壓縮目錄下運行
 
  perl MakeFile.pl

6 運行make

7 運行make install

安裝完成,寫一段Perl測試一下
#!/usr/bin/perl

use DBI;

$dbname="XXX";
$user="XX";
$passwd="XX";
$dbh="";

$dbh = DBI->connect("dbi:Oracle:$dbname",$user,$passwd) or die "can't connect to database ". DBI-errstr;
$sth=$dbh->prepare("select sysdate from dual");
$sth->execute;
while (@recs=$sth->fetchrow_array) {
    
print $recs[0]."\n";
}
$dbh->disconnect;

如果正確的print出了sysdate就說明Ok拉