我在尝试执行一个通过连接少量变量而形成的sql时遇到错误。
DBD :: ODBC尚不支持多次绑定命名参数
我可以从sql提示符执行相同的sql而不会出现任何问题!!
我的代码喜欢这样:( DBI连接,datetime $格式,所有使用的变量都已在前面的步骤中创建)
$sql = "";
my $param1 = $format->parse_datetime($dateval->ymd('-'));
$param1->add(days => 1);
$sql = crt_view($param1,$param2,$param3,$param4); #crt_view is function which will return a segment of my sql for the parameters passed
$sqlins = "create or replace view v_tabl_xxx as ".$sql;
$sth = $dbi->prepare($sqlins);
$sth->execute() or die("[ERROR] : \n\t$DBI::errstr\n");
答案 0 :(得分:3)
听起来它将SQL的一部分解释为命名占位符,而不应该。 尝试做
$dbi->{odbc_ignore_named_placeholders} = 1;
第一