Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 在perl中选择而不使用准备好的语句_Database_Perl_Prepared Statement_Dbi - Fatal编程技术网

Database 在perl中选择而不使用准备好的语句

Database 在perl中选择而不使用准备好的语句,database,perl,prepared-statement,dbi,Database,Perl,Prepared Statement,Dbi,我的数据库不支持prepare语句,有没有办法在这个数据库上运行selectquery而不用perl中的prepare语句 代码段: my $query = $conn->prepare("select a, b from my_table"); $query->execute(); 错误: DBD::Pg::st execute failed: ERROR: cannot execute PREPARE 尝试$conn->{'pg_server_prepare'}=0禁用服务

我的数据库不支持prepare语句,有没有办法在这个数据库上运行selectquery而不用perl中的prepare语句

代码段:

my $query = $conn->prepare("select a, b from my_table");
$query->execute();
错误:

DBD::Pg::st execute failed: ERROR:  cannot execute PREPARE

尝试
$conn->{'pg_server_prepare'}=0
禁用服务器端准备语句。

只需使用
prepare
,db驱动程序就会处理REST,这代码有什么用?我们已经知道你在某处使用了一种prepare方法。显示您正在使用的模块,以及如何创建数据库对象。您可能应该使用errstr函数来获取错误。并且可能报告模块和Perl的版本。如果它是
postgresql
的修改版本,可能它需要自己的驱动程序。顺便说一句,enterprisedb?@metdos嗯,已经两个小时了,你还没有答案。这应该告诉你,你的问题无法以目前的形式得到回答。根据我的经验,这更可能是一个用户错误而不是软件错误。您能确定您使用的是哪个版本的Perl、DBI、DBD::Pg和PostgreSQL吗。DBI规范要求
$sth=$dbh->prepare(…)
后跟
$sth->execute()
才能工作,因此如果驱动程序不工作,它将(是?)不可用。我能看到的唯一一件可能出错的事情是,如果
prepare
失败,您(应该)会得到一个无效的语句句柄,但这显然不是问题所在。您是否在连接属性中连接了
{RaiseError=>1}
和/或
{PrintError=>1}
。谢谢