#!/usr/bin/perl -w
use DBI;
my $dbSid = "test";
my $dbHost = "testhost";
my $dbUser = "user";
my $dbPassword = "password";
my $dbh = DBI->connect("DBI:Oracle:host=$dbHost:$dbSid", $dbUser, $dbPassword) or print ($DBI::errstr);
my $sth = $dbh->prepare("select * from table");
$sth->execute;
my @recs = "";
while ( my @recs=$sth->fetchrow_array) {
print $recs[0].":".$recs[1].":".$recs[2]."/n";
}
$dbh->finish;
$dbh->disconnect;
exit if(1);
#perl test.pl
install_driver(Oracle) failed: Can't locate DBD/Oracle.pm in @INC (@INC contains: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at (eval 3) line 3.
Perhaps the DBD::Oracle perl module hasn't been fully installed,
or perhaps the capitalisation of 'Oracle' isn't right.
Available drivers: DBM, ExampleP, File, Proxy, Sponge, mysql.
at test.pl line 10
oracle clientoracle instant clientoraclerpm32bit64bit
Instant Client downloads for Linux x86
DBD-Oracleperl dbi
DBD-Oracle,
DBD-OracleCPANperl
perl test.pl
-----------------------------------------------------------------------------------------
RPM
oracle-instantclient-sqlplus
oracle-instantclient-jdbc
oracle-instantclient-basic
oracle-instantclient-devel
export LD_LIBRARY_PATH=/usr/lib/oracle/10.2.0.4/client/lib/:${LD_LIBRARY_PATH}
export TNS_ADMIN=/usr/lib/oracle/10.2.0.4/admin
export ORACLE_HOME=/usr/lib/oracle/10.2.0.4/client/
PATH=$PATH:$ORACLE_HOME/bin
DBD-ORACLE
# perl Makefile.PL -m /usr/share/oracle/10.2.0.4/client/demo.mk
# make
# make install
"-m",
Unable to locate an oracle.mk, proc.mk or other suitable *.mk
file in your Oracle installation. (I looked in
/usr/lib/oracle/10.2.0.4/client/rdbms/demo/demo_xe.mk /usr/lib/oracle/10.2.0.4/client/rdbms/lib/oracle.mk /usr/lib/oracle/10.2.0.4/client/rdbms/demo/oracle.mk /usr/lib/oracle/10.2.0.4/client/rdbms/demo/demo_rdbms.mk /usr/lib/oracle/10.2.0.4/client/precomp/demo/proc/proc.mk /usr/lib/oracle/10.2.0.4/client/precomp/demo/proc/demo_proc.mk /usr/lib/oracle/10.2.0.4/client/proc/lib/proc.mk /usr/lib/oracle/10.2.0.4/client/proc16/lib/proc16.mk under /usr/lib/oracle/10.2.0.4/client)
The oracle.mk (or demo_rdbms.mk) file is part of the Oracle
RDBMS product. The proc.mk (or demo_proc.mk) file is part of
the Oracle Pro*C 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 1076.
make
/usr/bin/ld: skipping incompatible /usr/lib/oracle/10.2.0.4/client/lib/libocci.so when searching for -locci
/usr/bin/ld: cannot find -locci
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/DBD/Oracle/Oracle.so] Error 1
libocci
#ldd /usr/lib/oracle/10.2.0.4/client/lib/libocci.so
linux-gate.so.1 => (0xffffe000)
libstdc++.so.5 => not found
libm.so.6 => /lib/libm.so.6 (0xf7ecf000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xf7ec3000)
libc.so.6 => /lib/libc.so.6 (0xf7d83000)
/lib/ld-linux.so.2 (0x56555000)
libstdc++.so.5
#find /usr/lib -name "libstdc++*"
/usr/lib/libstdc++.so.6
/usr/lib/libstdc++.so.6.0.8
/usr/lib/gcc/x86_64-redhat-linux/4.1.1/libstdc++.a
/usr/lib/gcc/x86_64-redhat-linux/4.1.1/libstdc++.so
/usr/lib/gcc/x86_64-redhat-linux/4.1.1/32/libstdc++.a
/usr/lib/gcc/x86_64-redhat-linux/4.1.1/32/libstdc++.so
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.8
#ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so.5
apache 2008-07-24
nfs 2008-07-24
LinuxID 2009-07-17
perl 2008-09-11
perl dbi fetch 2008-08-11
perl 2008-08-07
Perl 2008-08-06
perl连接远程oracle
最新推荐文章于 2022-05-26 16:55:36 发布