如何从Perl访问Oracle数据库?

时间:2012-07-17 15:24:01

标签: perl oracle

我正在将一些shell脚本转换为perl。所有数据库访问都是使用sqlplus完成的。使用perl是访问Oracle数据库的更好方法,或者我应该坚持使用sqlplus。

2 个答案:

答案 0 :(得分:7)

DBI是标准的Perl数据库接口(不出所料,它有一个Oracle driver)。 DBIx::Class用一个漂亮的ORM接口包装它。

SQL Plus似乎是Oracle的命令行界面。要从Perl中使用它,您必须通过将字符串混合在一起来构建查询(一种介绍SQL注入问题的好方法),shell命令行客户端,然后解析文本输出。那是疯狂的。使用一个可以使用Perl数据结构的接口。

答案 1 :(得分:3)

以下是使用DBI的简短示例:

use DBI;

$user = 'donny';
$password = 'ppp';
$dbconnectstring = 'basetest';
$dbh = DBI->connect('dbi:Oracle:',$user.'@'.$password,$dbconnectstring);

另外,请注意,您可以在perl脚本中访问sqlplus或任何命令行。只需使用反引号:

`cd dasd`

例如。不确定你是否想要这样做,但只是一个想法,因为你说你正在将shell转换为perl。