Bug 780889 (SOA-3350)

Summary: Blobs/Clobs don't work with DB2 9.7 JDBC driver
Product: [JBoss] JBoss Enterprise SOA Platform 5 Reporter: Van Halbert <vhalbert>
Component: Documentation, EDSAssignee: Van Halbert <vhalbert>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: urgent Docs Contact:
Priority: urgent    
Version: 5.2.0.ER3CC: fnguyen
Target Milestone: ---   
Target Release: 5.2.0 GA   
Hardware: Unspecified   
OS: Unspecified   
URL: http://jira.jboss.org/jira/browse/SOA-3350
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-11-14 20:08:25 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Van Halbert 2011-09-01 20:44:52 UTC
Workaround: Workaround Exists
Workaround Description: there are 2 workarounds here
1. add the following to the connection url:  

:driverType=4;fullyMaterializeLobData=true;fullyMaterializeInputStreams=true;progressiveStreaming=2;progresssiveLocators=2;

so the url looks like:

So the full URL looks like:

jdbc:db2://<host>:50000/testDB:driverType=4;fullyMaterializeLobData=true;fullyMaterializeInputStreams=true;progressiveStreaming=2;progresssiveLocators=2;


2. you can use the DB2 JDBC 9.1 version instead of the 9.7 version.

Note: When Version 9.1 JDBC is used with a 9.7 DB, only DB2 Version 9.1 or earlier functionality is available.
project_key: SOA

BQT Testing is failing reading Blobs/Clobs against DB2 using the 9.7 driver.   Found a JBAPP jira (JBPAPP-2613) that discusses this issue and the workaround.   However, checked the DB2 website and there appears to a possible fix in the update on March 25, 2011.  But that still has to be tested.

Comment 1 Van Halbert 2011-09-01 20:45:25 UTC
Link: Added: This issue is related to JBPAPP-2613


Comment 2 Van Halbert 2011-09-02 16:01:28 UTC
Workaround Description: Removed: there are 2 workarounds here
1. create a property file named DB2JccConfiguration.properties and it should be on your class path or in a JAR which should also be on your classpath.
then put this line below into that properties file
"db2.jcc.override.progressiveStreaming=2"
this will disable progressive streaming on DB2

2. you can use the DB2 JDBC 9.1 version instead of the 9.7 version.

Note: When Version 9.1 JDBC is used with a 9.7 DB, only DB2 Version 9.1 or earlier functionality is available. Added: there are 2 workarounds here
1. add the following to the connection url:  

:driverType=4;fullyMaterializeLobData=true;fullyMaterializeInputStreams=true;progressiveStreaming=2;progresssiveLocators=2;

so the url looks like:

So the full URL looks like:

jdbc:db2://<host>:50000/testDB:driverType=4;fullyMaterializeLobData=true;fullyMaterializeInputStreams=true;progressiveStreaming=2;progresssiveLocators=2;


2. you can use the DB2 JDBC 9.1 version instead of the 9.7 version.

Note: When Version 9.1 JDBC is used with a 9.7 DB, only DB2 Version 9.1 or earlier functionality is available.


Comment 3 Van Halbert 2011-09-02 21:21:17 UTC
Release Notes Docs Status: Added: Documented as Known Issue
Release Notes Text: Added: When using a DB2 9.7 database to retrieve blobs/clobs, you may run into the issue where DB2 hasn't fully materialized the blobs/clobs in your query.    This was not an issue in DB2 9.1.    Therefore, to access blobs/clobs in a DB2 9.7 database using EDS you need to append the following to your connection url:   :driverType=4;fullyMaterializeLobData=true;fullyMaterializeInputStreams=true;progressiveStreaming=2;progresssiveLocators=2;


Comment 4 David Le Sage 2011-09-12 23:26:29 UTC
Writer: Added: dlesage
Release Notes Text: Removed: When using a DB2 9.7 database to retrieve blobs/clobs, you may run into the issue where DB2 hasn't fully materialized the blobs/clobs in your query.    This was not an issue in DB2 9.1.    Therefore, to access blobs/clobs in a DB2 9.7 database using EDS you need to append the following to your connection url:   :driverType=4;fullyMaterializeLobData=true;fullyMaterializeInputStreams=true;progressiveStreaming=2;progresssiveLocators=2; Added: https://issues.jboss.org/browse/SOA-3350

When using a DB2 9.7 database to retrieve blobs/clobs, you may run into the issue where DB2 hasn't fully materialized the blobs/clobs in your query.    This was not an issue in DB2 9.1.    Therefore, to access blobs/clobs in a DB2 9.7 database using EDS you need to append the following to your connection url:   :driverType=4;fullyMaterializeLobData=true;fullyMaterializeInputStreams=true;progressiveStreaming=2;progresssiveLocators=2;


Comment 5 David Le Sage 2011-09-28 03:36:56 UTC
Documented as known issue.  Assigning back to Van.

Comment 7 Paul Nittel 2011-11-14 20:08:25 UTC
Checked 5.2 release notes. Closed.