我如何使用 DBI 处理此命令 "set Pagesize 50"
How can I handle with DBI this command "set Pagesize 50"
您好,我正在尝试使用 DBI 设置页面大小,但脚本无法通过任何建议,我该如何使用 DBI 处理此问题:
$dbh=DBI->connect( "dbi:Oracle:", "", "", { ora_session_mode =>
ORA_SYSDBA , RaiseError => 1, PrintError => 1 } );
$dbh->do(qq{ " SET PAGESIZE 50" } );
有错误:
DBD::Oracle::db do failed: ORA-00900: invalid SQL statement (DBD
ERROR: error possibly near <> indicator at char 1 in ' <>" SET
PAGESIZE 50" ') [for Statement " " SET PAGESIZE 50" "] at run.pl
line 9. DBD::Oracle::db do failed: ORA-00900: invalid SQL statement
(DBD ERROR: error possibly near <> indicator at char 1 in ' <>" SET
PAGESIZE 50" ') [for Statement " " SET PAGESIZE 50" "] at run.pl
line 9.
有什么想法吗?
这不是实际的 SQL 命令,它是 Oracle SQLPLUS 客户端的配置命令,不会发送到服务器。您没有使用 SQLPLUS,使用 DBI 发出该命令没有任何意义。
您在该声明中无意中引用了两次内容。
所以 oracle 看到这个命令被发送给它:" SET PAGESIZE 50"
qq{}
本质上是在 perl 中使用双引号的另一种方法,这样您就不必在内部转义双引号。所以把里面的双引号去掉就好了(或者用双引号代替qq,但是,因为有时候SQL需要双引号,所以用括号更安全)
$dbh->do( qq{SET PAGESIZE 50} );
您好,我正在尝试使用 DBI 设置页面大小,但脚本无法通过任何建议,我该如何使用 DBI 处理此问题:
$dbh=DBI->connect( "dbi:Oracle:", "", "", { ora_session_mode =>
ORA_SYSDBA , RaiseError => 1, PrintError => 1 } );
$dbh->do(qq{ " SET PAGESIZE 50" } );
有错误:
DBD::Oracle::db do failed: ORA-00900: invalid SQL statement (DBD ERROR: error possibly near <> indicator at char 1 in ' <>" SET PAGESIZE 50" ') [for Statement " " SET PAGESIZE 50" "] at run.pl line 9. DBD::Oracle::db do failed: ORA-00900: invalid SQL statement (DBD ERROR: error possibly near <> indicator at char 1 in ' <>" SET PAGESIZE 50" ') [for Statement " " SET PAGESIZE 50" "] at run.pl line 9.
有什么想法吗?
这不是实际的 SQL 命令,它是 Oracle SQLPLUS 客户端的配置命令,不会发送到服务器。您没有使用 SQLPLUS,使用 DBI 发出该命令没有任何意义。
您在该声明中无意中引用了两次内容。
所以 oracle 看到这个命令被发送给它:" SET PAGESIZE 50"
qq{}
本质上是在 perl 中使用双引号的另一种方法,这样您就不必在内部转义双引号。所以把里面的双引号去掉就好了(或者用双引号代替qq,但是,因为有时候SQL需要双引号,所以用括号更安全)
$dbh->do( qq{SET PAGESIZE 50} );