2013-01-09 66 views
0

我目前運行到其中一個長字符串請從下方選擇數據庫獲取越來越被截斷的問題。在下面的語句中,當我在while循環中打印出來時,val1會在115個字符後截斷,但在表中,字符串是300個字符。的Perl DBI:結果值切斷

是否有我需要調整所有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()) { 
    ... 
} 
+0

哪個DBD的,什麼是該字段的類型? – ikegami

回答

5

按照DBI documentation,你必須做好準備之前設置LongReadLen(和persumably LongTruncOk)。

的一份聲明中處理不斷變化的「LongReadLen」的價值就已經後「準備」「d通常不會有任何效果,所以它的共同呼喚‘準備’之前設置‘LongReadLen’上的$胸徑。