[freetds] insert varchar/text fields limited to max 80 characters

James Vanns jimv at canterbury.ac.uk
Fri Feb 11 04:38:17 EST 2005


Just my tuppence really but its not a stupidly low value in freetds.conf
is it!?

There is a default block size:

[global]
  # TDS protocol version
  tds version = 8.0
  initial block size = 1024

I know nothing about dblib or perl but I do know I have had a similar
problem in the past where the block size was to small for what was being
retrieved.

Regards

Jim Vanns

On Thu, 2005-02-10 at 17:32 +0000, Dirk Koopman wrote:
> 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
> 
> 
> 
> _______________________________________________
> FreeTDS mailing list
> FreeTDS at lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/freetds
-- 
James Vanns BSc (Hons) MCP
Linux Systems Administrator
Software Engineer (Linux / C & C++)
Canterbury Christ Church University College
Public Key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x24045370





More information about the FreeTDS mailing list