Using READ_UNCOMMITTED isolation level with Informix database and WAS
Posted in 2005
Topics: Connectivity: ODBC / JDBC / .NET, Transactions, Locking & Isolation, Java & JDBC Development
Hi, I am using WAS 5 and Informix 9.4 The requirement is that the transaction isolation level should be TRANSACTION_READ_UNCOMMITTED (Dirty Read). I have set this isolation level in Resource Reference. But, when I try to select from a table which has uncommitted changes from another transaction, I am seeing an exception: java.sql.SQLException: Cannot get system information for table. at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:373) at com.informix.jdbc.IfxSqli.a(IfxSqli.java:3208) at com.informix.jdbc.IfxSqli.E(IfxSqli.java:3518) at com.informix.jdbc.IfxSqli.dispatchMsg(IfxSqli.java:2353) at com.informix.jdbcx.IfxXASqli.receiveMessage(IfxXASqli.java:120) at com.informix.jdbc.IfxSqli.a(IfxSqli.java:1532) at com.informix.jdbc.IfxSqli.executeStatementQuery(IfxSqli.java:1471) at com.informix.jdbc.IfxSqli.executeStatementQuery(IfxSqli.java:1401) at com.informix.jdbc.IfxResultSet.a(IfxResultSet.java:204) at com.informix.jdbc.IfxStatement.executeQueryImpl(IfxStatement.java:1212) at com.informix.jdbc.IfxStatement.executeQuery(IfxStatement.java:202) at com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.executeQuery(WSJdbcStatement.java:431) at com.thbs.enable.TwoBean.testSelect(TwoBean.java:94) at com.thbs.enable.EJSRemoteStatelessTwo_09295644.testSelect(Unknown Source) at com.thbs.enable._EJSRemoteStatelessTwo_09295644_Tie.testSelect(_EJSRemoteStatelessTwo_09295644_Tie.java:151) at com.thbs.enable._EJSRemoteStatelessTwo_09295644_Tie._invoke(_EJSRemoteStatelessTwo_09295644_Tie.java:80) at com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDelegate.java:615) at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:468) at com.ibm.rmi.iiop.ORB.process(ORB.java:396) at com.ibm.CORBA.iiop.ORB.process(ORB.java:1608) at com.ibm.rmi.iiop.Connection.doWork(Connection.java:2164) at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:63) at com.ibm.ejs.oa.pool.PooledThread.run(ThreadPool.java:95) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code)) In the ejb, if I call connection.getTransactionIsolation(), it shows that the isolation level is set to READ_UNCOMMITTED. However, if I execute the query: SET ISOLATION TO DIRTY READ, it works fine without throwing any exception. Can somebody help? Thanks, Jayarama Nettar.
Hi, I have observed that I am getting this exception irrespective of the isolation level. So, I get the above exception whenever I try to select from a table which has uncommitted changes from another transaction. I request someone to help. Thanks, Jayarama Nettar.