PQ73523: Setting connection autoCommit value to
false does not work
Downloadable files
Abstract
Setting connection autoCommit value to false does not work
correctly in a global transaction or a local transaction when you use the
DB2 Universal JDBC Provider Driver
Download Description
This problem happens when users use "DB2 Universal JDBC Provider
Driver" to create data sources.
Global transaction scenario: When users call
aconnection.setAutoCommit(false) in aglobal transaction, an incorrect
exception "DSRA9350E: Operation setAutoCommit is not allowed during a
global transaction." was thrown. Users should be able to call
Connection.setAutoCommit(false) in a global transaction.
Local transaction scenario: When users call
connection.setAutoCommit(false), do work to the connection, and then call
connection.setAutoCommit(false) again on the same connection, the second
setAutoCommit(false) will commit the work that performs before the second
setAutoCommit() call. This behavior is the same as native DB2 universal
JDBC driver's behavior, but it is not consistent with the behaviors when
using other JDBC drivers in WebSphere. The correct WebSphere behavior is
that the second setAutoCommit(false) doesn't commit the previous work.
Users Affected:
WebSphere Application Server users of version 5.0 Datasources with
autocommit enabled.
Problem Conclusion:
The proper checking was done to determine the type of transaction, user or
global, and throw the exception where necessary.
Prerequisites
Please download the UpdateInstaller below to install this fix.