http://qs321.pair.com?node_id=844724

rgcosma has asked for the wisdom of the Perl Monks concerning the following question:

Wise monks,

I have a seemingly simple insert and can't figure whether the problem is in DBI or in freetds (asked there too, no feedback yet). Data is an e-mail in stdin

while (<STDIN>) {$orig .= $_; $count++; last if ($count>100 || /\w{70, +}/); chomp($orig);$orig=~s/\r//g;$orig=~s/\n/\t/g; #print STDERR $orig; $db1 = DBI->connect("dbi:Sybase:server=$dbserver;database=$dbase;", $u +ser, $passwd, { syb_err_handler => \&err_handler }) || exit 1; $st1 = $db1->prepare("insert into bounces (recipientid, documentid, bo +uncecode, bouncesubject, bounceheaders) values (?,?,?,?,?)") || exit +1; $st1->execute($recid, $docid, $msg, $subj, $orig) || exit 1;

The string, with newlines replaces by tabs, is there when printed, but in the db I only get the first 78 chars for field "bounceheaders":

From MAILER-DAEMON Mon Jun 14 08:54:23 2010 Return-Path: <> X-Origina +l-To: a2@e From MAILER-DAEMON Mon Jun 14 08:54:24 2010 Return-Path: <> X-Origina +l-To: a3@e
Any hints on what goes wrong?