Perl DBI:结果值被截断

che*_*711 0 perl dbi

我目前遇到一个问题,从下面的选择中从db获取的长字符串被截断.在下面的语句中,当我在while循环中打印出来时,val1会在115个字符之后被切断,但在表格中字符串是300个字符.

我需要调整任何Perl模块配置参数吗?

谢谢!

my $sql = "SELECT val1 FROM TABLE";
my $sth = $dbh->prepare($sql)
    or die "Can't prepare statement: $DBI::errstr";
$sth->execute() or die "Cannot execute: " . $sth->errstr();
$sth->{'LongTruncOk'} = 1;
$sth->{'LongReadLen'} = 20000;
while(my @row = $sth->fetchrow_array()) {
  ...
}
Run Code Online (Sandbox Code Playgroud)

Sch*_*ern 5

根据DBI文档,您必须在准备之前设置LongReadLen(以及可能的LongTruncOk).

对于声明中处理不断变化的"LongReadLen"的价值就已经后"准备""d通常是无效的,所以它的共同呼唤'准备’之前设置'LongReadLen’上的$胸径.