- 论坛徽章:
- 0
|
求助各位大侠啊,用perl 在客户端无法连接Oracle服务器端,报错如下:
wyc@ubuntu-server:~/script$ ./dbi2.pl
DBI connect('host=192.168.121.1:XE','scott',...) failed: ORA-12154: TNS:could not resolve the connect identifier specified (DBD ERROR: OCIServerAttach) at ./dbi2.pl line 9
Can't call method "prepare" on an undefined value at ./dbi2.pl line 10.
tnsnames.ora 文件配置如下:
wyc@ubuntu-server:/usr/lib/oracle$ cat tnsnames.ora
XE=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.121.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME=XE)
)
)
连接程序如下:
wyc@ubuntu-server:~/script$ cat ./dbi2.pl
#!/usr/bin/perl -w
use DBI;
my $dbSid = "XE";
my $dbHost = "192.168.121.1";
my $dbUser = "scott";
my $dbPassword = "tiger";
my $dbh = DBI->connect("dbi:Oracle:host=$dbHost dbSid", $dbUser, $dbPassword) or print $!,"\n";#($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);
已在百度、google搜索多时,无果,郁闷啊 |
|