如何从Perl访问Oracle数据库



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

DBI是标准的Perl数据库接口(它有一个Oracle驱动程序,这不足为奇)。DBIx::类用一个漂亮的ORM接口封装它。

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

以下是DBI:的一个简短用法示例

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

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

`cd dasd`

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

最新更新