HI all,
I have run into a strange problem using the DBD::DB2 drivers. 

Running a SELECT query thats grabs some data that includes a column defined as 
DECIMAL(14). When the $handle->fetchrow_array() occurs, we get the following 
error: 

DBD::DB2::st fetchrow_array failed: IBMCLI DriverDB2/SUN64 SQL0413N Overflow 
occured during numeric data type conversion. SQLSTATE=22003 

If RaiseError is not set on the DB handle, i can trap the error by checking 
the value of $DBI::err, but if RaiseError is set, i cant trap the error with 
eval{}

I have almost no experience with DBI::DB2 (i usually use DBI::MySQL), so i may 
not fully understand whats happening. 

I believe that its in the translation from the DECIMAL(14) to a perl string. 
I say this because: Reading O'Reilly's Programming the Perl DBI, in Appendix 
B, section DBD::DB2 (page 246 in my copy), the statement "Notice that DB2 
supports numbers outside the typicalvalid range for perl numbers. This isn't 
a major problem because DBD::DB2 always returns all numbers as strings."

Please let me know if you need more information, i'll see what i can get.

I am not subscribed to this list, so please respond personally.

thanks much,
Sean Peters
[EMAIL PROTECTED]

Reply via email to