在尝试执行通过连接几个变量形成的sql时,我得到以下错误。
DBD::ODBC还不支持多次绑定一个命名参数
我可以从sql提示符执行相同的sql,没有任何问题!!
我的代码是这样的:(DBI连接,datetime $format,所有使用的变量已经在前面的步骤中创建)
$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] : nt$DBI::errstrn");
听起来像是在不应该将SQL的一部分解释为命名占位符。做
$dbi->{odbc_ignore_named_placeholders} = 1;
。