perl 连接oracle 配置

本文介绍Oracle数据库tnsnames.ora及listen.ora文件的配置方法,并提供了一个使用Perl脚本连接Oracle数据库并查询数据的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.tnsnames.ora 配置

# tnsnames.ora Network Configuration File: D:\app\xl186023\product\12.1.0\dbhome_1\network\admin\tnsnames.ora

# Generated by Oracle configuration tools.


ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )


ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl.TD.TERADATA.COM)
    )
  )

---------------------------------------------------------------------------

2. listen.ora 配置

# listener.ora Network Configuration File: D:\app\xl186023\product\12.1.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.


SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      #(SID_NAME = CLRExtProc)
      (SID_NAME = orcl)
      (ORACLE_HOME = D:\app\xl186023\product\12.1.0\dbhome_1)
      #(PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:D:\app\xl186023\product\12.1.0\dbhome_1\bin\oraclr12.dll")
    )
  )


LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      #(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = orcl))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

--------------------------------------------------------------------------------------

3.perl 脚本写法

#! /usr/bin/perl
use strict;
use warnings;
use DBI;


my $dbname="orcl";
my $user="system";
my $passwd="000000";
my $dbh="";
#$dbh = DBI->connect('dbi:Oracle:',q{system/000000@(DESCRIPTION =
#    (ADDRESS = (PROTOCOL = TCP)(HOST = WCNXL186023-5HH)(PORT = 1521))
#    (CONNECT_DATA =
#      (SERVER = DEDICATED)
#      (SERVICE_NAME = orcl.TD.TERADATA.COM)
#    )},"");
$dbh=DBI->connect("dbi:Oracle:localhost/orcl",$user,$passwd) 
or die "can't connect to database ". DBI->errstr;
#


my $sth=$dbh->prepare("select * from stu_1");


$sth->execute;


while (my @recs=$sth->fetchrow_array) {
print $recs[0].":".$recs[1]."\n";


}
$dbh->disconnect;





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟冲锋号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值