执行数据库操作报错

执行数据库操作报错

execute fail:OpenClient message: LAYER = (1) ORIGIN = (1) SEVERITY = (1) NUMBER = (136)
Server GS_49, database
Message String: ct_command(LANG): user api layer: external error: A string of length 0 is not allowed for parameter buf.


代码如下:


my $delSql="truncate table tEmsStateLog";
sub delEmsStateLog{
        my $delSth=$tgtcon->prepare($delSql) or die "Couldn't prepare!".$tgtcon->errstr;
    my $num= $delSth->execute() or die "execute fail:".$delSth->errstr;
    $delSth->finish();
             return $num;
       
}

调用这个函数,$tgtcon已在前面的程序中建立好连接。

没找到引起问题的原因
已经找到问题原因,是由于传入的$delSql为空引起的。太大意了,在$delSql定义之前就开始使用了。