>
>
> Another weird thing, I inserted about 10,000 characters into the
> column, I can see them in the database using MicroSoft tools, but
> if I query in Perl I get the error below (which is the same if I
> insert/query a text column, which apparently doesn't have the varchar
> ~8K limit), but for whatever reason the cfm query against the image
> column only gets the first 19 characters (haven't tried the cfm query
> with a text column yet). The Perl output is:
>
> DBD::ODBC::st fetchrow_array failed: [Microsoft][ODBC SQL Server
> Driver]String data, right truncation (SQL-01004)(DBD: s
> t_fetch/SQLFetch (long truncated) err=1) at C:\temp\db2.ipl line 33.
>
> My guess is that this has something to do with bind_param, maybe
> bind_param_inout, and I read the perldoc on DBI but couldn't figure
> out what I need to do about this. How do I specify the type of a
> return parameter for a query (couldn't find an example)? And since
> it's text, I shouldn't even have to specify a type - why is it getting
> truncated?
>
Read the DBI docs regarding LongReadLen. You only have to specify a type on
insert, and with the latest DBD::ODBC, not always -- depends upon your
driver (and, as I found out today, bugs in your driver :)
Jeff
> Thanks again,
>
> -John
>
> my $sql = "select TextType from TestImage where TestImageID = 41";
> my $sth = $dbh->prepare( $sql );
> my $ret = $sth->execute();
>
> while( my @data = $sth->fetchrow_array())
> {
> print "SELECTED: " . Dumper( @data );
> }
>
> DBD::ODBC::st fetchrow_array failed: [Microsoft][ODBC SQL Server
> Driver]String data, right truncation (SQL-01004)(DBD: s
> t_fetch/SQLFetch (long truncated) err=1) at C:\temp\db2.ipl line 33.
>
>
>
>
>
>
>
>
>