perl脚本中调用isql问题

toqing111 2009-04-29 03:56:48
如下一个测试的小程序:
sub runISQL {

my ($sqlstr)=@_;
open (HHD,"| isql -Siq01 -Uiccs -Psybase -e -b") or die "err";
print HHD <<ENDOFINPUT ;
$sqlstr
ENDOFINPUT
close(HHD);

my $ret=$? ;
print "in runIsql ret is $ret \n";
return($ret);
}

#########################start######

$sql=<<ENDOFINPUT
select * from dba.test_chara
go
commit
ENDOFINPUT
;
print "$sql\n";

my $ret=runISQL($sql);

print "ret is $ret \n";

不管sql 语句有没错误(例如select的表不存在) ,runISQL 返回的值总是0.请问怎么才能捕获到sql 时候是否正确执行的返回值。
...全文
132 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Aylazhang 2009-04-29
  • 打赏
  • 举报
回复
为啥不用freetds呢?
每次执行一个sql都需要open一个HHD,效率很低。

37,741

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧