To help others we have a work around currently but still believe that the Jasper code is doing something it shouldn't really be doing. The work around for an Oracle 10G app server is to use the underlying database connection, rather then the pooled, container controller connection. It's not an ideal solution as we loose some control but it does work. Use the following line: Connection conn1 = ((oracle.jdbc.OracleConnection)conn)._getPC(); Remember not to close conn1 (the real JDBC connection) at the end, rather close conn (the container controlled connection, where close() will just return it to the pool for future reuse). If anyone has a neater solution, I'd be happy to hear it. Thanks, Tim