Hi there...
I have a stateless Session Bean issuing a select for a BLOB column. This
bean is using a CachedRowSet. It seems to work for all other columns types
other than a BLOB. Selecting a BLOB column, a SQLExcpetion when the
CachedRowSet is populated. Anyone else run in to this situation?
ENV:
WSAD 5.0.1 running on WIN2K or RH9 (WAS 5 Datasouce)
DB2 UDB 8.1 FP 3 (client)
DB2 OS390 7.2 (server)
The Application SQL Trace:
[11/25/03 18:43:25.025 CST][Servlet.Engine.Transports : 0]:DEBUG
EXAV.DataAccessManager - SQL Stmt:SELECT PROBLEM_ATTACHMENT.PROBLEM_ATT_ID,
PROBLEM_ATTACHMENT.FIELD_NAME, PROBLEM_ATTACHMENT.FILE_NAME,
PROBLEM_ATTACHMENT.FILE_SIZE, PROBLEM_ATTACHMENT.PROBLEM_ID,
PROBLEM_ATTACHMENT.TABLE_NAME, PROBLEM_ATTACHMENT.ATTACHMENT FROM
TSD630UC.PROBLEM_ATTACHMENT PROBLEM_ATTACHMENT WHERE ( (
PROBLEM_ATTACHMENT.PROBLEM_ID = ? ) ) FETCH FIRST 2 ROWS ONLY
[11/25/03 18:43:25.025 CST][Servlet.Engine.Transports : 0]:DEBUG
EXAV.DataAccessManager - setParameters(List parameters, PreparedStatement
iPS):Param Type: CHAR Value:SITEA-00007413
[11/25/03 18:43:38.038 CST][Servlet.Engine.Transports : 0]:DEBUG
EXAV.DataAccessManager - DB Statement Execution time = 19984 msec
The Code snipit:
locRS = locPS.executeQuery();
locCRSet = new CachedRowSet();
locCRSet.populate(locRS); <---Error thrown from here
The Error (from the CLI trace):
SQLGetDiagFieldW( pDiagInfo=0, pcbDiagInfo=0 )
<--- SQL_SUCCESS Time elapsed - +5.425300E-002 seconds
SQLErrorW( hEnv=0:0, hDbc=0:0, hStmt=2:2, pszSqlState=&19eee334,
pfNativeError=&19eee330, pszErrorMsg=&19eedb2c, cbErrorMsgMax=1024,
pcbErrorMsg=&19eedb28 )
---> Time elapsed - +4.453000E-003 seconds
( iRowNumber=1, iColumnNumber=-2 )
SQLErrorW( pszSqlState="22011" - X"32003200300031003100",
pfNativeError=-138, pszErrorMsg="[IBM][CLI Driver][DB2] SQL0138N The second
or third argument of the SUBSTR function is out of range. SQLSTATE=22011
" -
X"5B00490042004D005D005B0043004C004900200044007200 69007600650072005D005B0044
00420032005D002000530051004C0030003100330038004E00 20002000540068006500200073
00650063006F006E00640020006F0072002000740068006900 72006400200061007200670075
006D0065006E00740020006F00660020007400680065002000 53005500420053005400520020
00660075006E006300740069006F006E002000690073002000 6F007500740020006F00660020
00720061006E00670065002E0020002000530051004C005300 54004100540045003D00320032
003000310031000D000A00", pcbErrorMsg=119 )