In June 2003, there was a change made to the Application
Server code defect 168102.
Prior to June 2003, the setReadOnly(true) method set an internal flag in
Application Server, but did not convey this information to the Oracle
database. In versions after June 2003, Application Server issues the error
as described above.
The Connection.setReadOnly method of Oracle database behaves differently
in WebSphere Application Server.
Release Notes:
Oracle does not support read-only connections. However, you can still call
the connection.setReadOnly(true) method. After the
connection.setReadOnly(true) method is called, the connection.isReadOnly()
method returns true but the connection is still not a read-only
connection. When the connection.setReadOnly(boolean) method is called, the
Oracle database starts a transaction.
Description: The connection.setReadOnly(boolean) method of Oracle database
behaves differently in Application Server from the Oracle behavior
previously described. When the connection.setReadOnly(true) method is
called, an SQLException exception is displayed to indicate that the Oracle
database does not support read-only connections. When the
connection.setReadOnly(false) method is called, Application Server does
not call the setReadOnly(false) method to the native Oracle connection. In
either the connection.setReadOnly(false) method or the
connection.setReadOnly(true) method, no Oracle transaction can start.
What to do:
Check the build dates of the Application Server Software and make sure it
is later than June 2003, or update Application Server to install the fix
for defect 168102.
|