in reply to Strange DBI/DBD::ODBC behaviour (right truncation of data on ODBC call)

I have now faced the same problem with different context - "show table" on Teradata via ODBC call was failing with the error described here. This is the code for sub that returns the table definition correctly, when given the database handle ($dbh) and "show table statement" ($sql).

I am writing this here for any unfortunate soul, which could face the same issue as me in the future - as well as for my future self.

Thanks to all who showed me kindness in the past, and helped me solve the problem.

sub _long_show ( $dbh, $sql ) { my $sth = $dbh->prepare($sql); $sth->execute(); $sth->bind_col(1, undef, {TreatAsLOB=>1}); my $data; my $retval = ""; while($sth->fetch) { while (my $retrieved = $sth->odbc_lob_read(1, \my $data, 65535 +)) { $retval .= $data; } } return $retval . "\n"; }

  • Comment on Re: Strange DBI/DBD::ODBC behaviour (right truncation of data on ODBC call)
  • Download Code