perl连接oracle,取出radius上网记录问题。。。

perl连接oracle,取出radius上网记录问题。。。

现有oracle存储radius上网记录。
现需求:
用户名50个,从oracle提取每个用户名的上网记录并保存到文本文件。

sql查询语句:
select * from xxx
where access_time >to_date ('2008-02-25 00:00:00','yyyy-mm-dd hh24:mi:ss')
and access_time <to_date ('2008-03-01 00:00:00','yyyy-mm-dd hh24:mi:ss') and login_name='abc1234567'

结果:
SERVER_NAME        LOG_FILE        ACCESS_TIME        STATE        LOGIN_NAME        IP        SESSION_TIME        ACCESS_SERVER        OPERLOG_TIME        NAS_IP_ADDRESS        NAS_PORT_ID        ONEWAVE_SERVICE_CODE        FRAMED_PROTOCOL        MAC_ADDRESS        NAS_IDENTIFIER
radius1        detail#2673        2008-2-25 21:34        Start        abc1234567        ip        0        ip        2008-2-25 21:49        ip        915        Internet        PPP                xxx-08-BRAS-02
.
.

因Perl关于oracle的操作还没做过,书也还没看到,希望各位给个案例。
谢谢!
书:perl dbi
oracle是在windows机器上,在线跑的机器不能装perl.
我在另一个Linux机器上安装了perl,想操作Oracle,linux必须安装oracle吗?

现在急着得出结果啊。
你linux机子必须能访问win机子,而且你linux上要装有DBI及oracle模块
然后, $dbh= DBI->connect("dbi:Oracle:database:host:port","user","pass");
$sth= $dbh->prepare("select * from xxx
where access_time >to_date ('2008-02-25 00:00:00','yyyy-mm-dd hh24:mi:ss')
and access_time <to_date ('2008-03-01 00:00:00','yyyy-mm-dd hh24:mi:ss') and login_name='abc1234567'");
$sth->execute();
open YOURFILE, "> yourfile.txt";
while ( $rowref = $sth->fetchrow_arrayref ){
print YOURFILE @$rowref,"\n";
}

close YOURFILE;


以上的代码没有测,可能有写错

非常感谢楼主!
如果能用代码实现,效率可以说是手工操作的万倍!
机器互访没问题,linux已经安装了DBI,现在在装oracle client和DBD-Oracle-1.20。
另外,我有个文本文件存放用户名,直接循环即可,应该不难。
再次感谢!
print YOURFILE $$rowref,"\n";

这里写错了,应该是
print YOURFILE @$rowref,"\n";

还有我是随便写的,你最好看下书 programming perl dbi

上面教你如何优化。如何bind 输入 输出参数,这本书不难,我看了半天看完。你可以先看看再写
Learning perl 我看了2遍了,还想把基础打牢。
现在是碰到问题再问、学。
谢谢。
Using Oracle in /usr/lib/oracle/11.1.0.1/client/lib
Can't find sqlplus. Pity, it would have helped.
I'm having trouble finding your Oracle version number... trying harder
Oracle version 11.1.0 (11.1)
Looks like an Instant Client installation, okay
Your LD_LIBRARY_PATH env var is set to '/usr/lib/oracle/11.1.0.1/client/lib'
Oracle sysliblist:

在DBD-Oracle安装时,perl Makefile.PL 出现如下错误,而且make很多error.请问怎么解决呢?问题可真多。

*********************************************************
I can't find the header files I need in your Oracle installation.
You probably need to install some more Oracle components.
For Instant Client that means the SDK package.
I'll keep going, but the compile will probably fail.
See the appropriate README file for your OS for more information.
*********************************************************
配置这些东西说难不难,说简单,又不简单。很烦琐。你还是上网找找怎样连接上。我没做过这些
谁遇到过这个问题呀?