我有一个perl脚本' db.pl'它连接到Oracle DB并从表中获取一行。
use DBI;
use lib " C:\strawberry\perl\site\lib";
my $dbh = DBI->connect("<schema>", "<username>", '<password>', { RaiseError => 1 });
my $sth = $dbh->prepare('select * from <tablename>',{ RaiseError => 1 });
$sth->execute;
my @row = $sth->fetchrow_array;
print "@row\n"
现在,当通过命令提示符运行时,它返回一行,这正是我想要的。
>perl db.pl
现在,我想在Python中使用相同的结果,我正在使用以下代码:
>>> pipe = subprocess.Popen(["perl", "<path>/db.pl"], stdout=subprocess.PIPE)
>>> print pipe.stdout.read()
返回NULL。有人能告诉我哪里出错吗?