如何使用DBI处理此命令“设置Pagesize 50”

时间:2015-10-30 21:01:03

标签: perl dbi

您好我正在尝试使用DBI设置Pagesize并且脚本失败任何建议我如何使用DBI来解决这个问题:

$dbh=DBI->connect( "dbi:Oracle:", "", "", { ora_session_mode =>
ORA_SYSDBA , RaiseError => 1, PrintError => 1 } );
$dbh->do(qq{ " SET PAGESIZE 50"   } );

有错误:

  

DBD :: Oracle :: db失败:ORA-00900:无效的SQL语句(DBD   错误:错误可能接近< > '< >“SET中char 1处的指示符   PAGESIZE 50“')[用于语句”“SET PAGESIZE 50”“]在run.pl   第9行.DBD :: Oracle :: db失败:ORA-00900:SQL语句无效   (DBD错误:'< >'中字符1处的< >指示符附近的错误“SET   PAGESIZE 50“')[用于语句”“SET PAGESIZE 50”“]在run.pl   第9行。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

这不是一个实际的SQL命令,它是Oracle SQLPLUS客户端的配置命令,不会发送到服务器。您没有使用SQLPLUS,使用DBI发出该命令没有任何意义。

答案 1 :(得分:1)

你在事故发表中两次引用东西。

所以oracle看到这个命令被发送给它:$(".submit").hide(); $("input").click(function() { $(".submit").hide(); if($("input[value=yes]:checked").length) { $(".submit").show(); } });

" SET PAGESIZE 50"本质上是在perl中使用双引号的另一种方式,因此您不必在内部使用双引号。所以只需从里面删除双引号就可以了(或者使用双引号而不是qq,但是,因为你有时想在SQL中使用双引号,所以使用括号更安全)

qq{}