我正在将一些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。