[freetds] insert varchar/text fields limited to max 80 characters
Dirk Koopman
freetds at tobit.co.uk
Thu Feb 10 12:31:26 EST 2005
Environment:
MS-SQL 2003, TDS version 8.0, freetds 0.62.4, perl DBD::ODBC and DBI
(current CPAN versions).
doing something like:-
my $sth = $dbh->prepare("insert into SBOL [XDESC_C] values(?)");
my $a =
"soooooooooooooooooooooooooooooooooooommmmmmmmmmmmmmmmmmmmmmmmmmmmmeeeeeeeeeeeeeeeeeeeeeeeeeeeeevvvvvvvvvvvvvvvvvvery-long-string";
$sth->execute($a);
will only cause the first 80 characters of $a into SBOL.XDESC_C.
It does not seem to matter whether XDESC_C is declared as varchar(1000)
or text (we would prefer text). All varchar fields with length > 80 and
text fields have the data chopped at 80 characters.
Tried all the obvious things like:-
$dbh = DBI->connect('dbi:ODBC:cpa', $cpauser, $passwd,
{
RaiseError=>1, AutoCommit=>0,
LongReadLen=>64*1024, LongTruncOk=>0,
ChopBlanks=>1,
} );
The same code, but running direct to a MySQL or Pg database (with
different DBI dsn obviously) work just as expected.
Any pointers?
Dirk
More information about the FreeTDS
mailing list