Problem with perl DBI ODBC driver (bug or misconfig ?) String data right truncation

Thread Solved

Join Date: Aug 2009
Posts: 3
Reputation: magix is an unknown quantity at this point 
Solved Threads: 0
magix magix is offline Offline
Newbie Poster

Problem with perl DBI ODBC driver (bug or misconfig ?) String data right truncation

 
0
  #1
Aug 3rd, 2009
Hello,

I'm trying to simply do a SELECT from an ODBC source.
It works perfectly in PHP but not in perl !
Therefore there is no problem at source or at ODBC level, it seems to reside at perl/DBI level...

What I do :

  1. use DBI;
  2. $dbh = DBI->connect('dbi:ODBC:' . $dsnname, $dbuser, $dbpwd) or...
  3. $sth = $dbh->prepare($sql) or die...
  4. do {
  5. my @row;
  6. my $line=1;
  7. # fetch each row in array
  8. while (@row = $sth->fetchrow_array())
  9. {
  10. print ($line + 1);
  11. print ". ";
  12. # print each field in a row
  13. for ($i=0;$i<$#row;$i++)
  14. {
  15. print $row[$i]
  16. };
  17. print "\n";
  18. $line++;
  19. }
  20. # see if there's more records to show
  21. } while ($sth->{odbc_more_results});

But even if my script is working, most of the time (not always but 80% of time ???) I get this error :

DBD::ODBC::st fetchrow_array failed: [unixODBC][IBM][System i Access ODBC Driver]Column 1: CWB0111 - A buffer passed to a system call is too small to hold return data (SQL-22018) [state was 22018 now 01004]

[unixODBC][IBM][System i Access ODBC Driver]String data right
truncation. (SQL-01004) at ./odbcdemo-perl.pl line n.

I'm not an ODBC expert, not a DBI expert, therefore I'm maybe forgetting something important to be done, but I don't find anything on the web that helped me...

Last idea, could it be due to UTF8, which would create difference in
string sizes ?

I found a similar bug in PHP :
And a thread about my problem but without solution :
But I don't understand DBI enough to understand what I should do ?

Thanks a lot for any help !

Denis
Reply With Quote Quick reply to this message  
Join Date: Aug 2009
Posts: 3
Reputation: magix is an unknown quantity at this point 
Solved Threads: 0
magix magix is offline Offline
Newbie Poster

Re: Problem with perl DBI ODBC driver (bug or misconfig ?) String data right truncation

 
0
  #2
Aug 3rd, 2009
Just a precision, in my original I didn't forgot the "execute", this is not the problem.

And another precision, I get 27 rows of data (out of 126) before the error arrives...
Reply With Quote Quick reply to this message  
Join Date: Aug 2009
Posts: 3
Reputation: magix is an unknown quantity at this point 
Solved Threads: 0
magix magix is offline Offline
Newbie Poster

Re: Problem with perl DBI ODBC driver (bug or misconfig ?) String data right truncation

 
0
  #3
Aug 5th, 2009
Reply With Quote Quick reply to this message  
Reply

This thread has been marked solved.
Perhaps start a new thread instead?
Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC