[ https://issues.apache.org/jira/browse/DERBY-3806?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12618432#action_12618432 ]
Kristian Waagan commented on DERBY-3806: ---------------------------------------- Just a few initial questions. If feasible in your application environment, can you try any of the suggestions below? a) If you swap 4 and 5, do you still get the exception? b) Do you have any result sets open at point 5? Default holdability in Derby is HOLD_CURSORS_OVER_COMMIT. Does the exception go away if you change holdability to CLOSE_CURSORS_AT_COMMIT? c) What happens if you close all open result sets, but not the statements, before point 4? Thanks for the report. > java.sql.SQLException: Cannot close a connection while a transaction is still > active thrown on Connection.close > --------------------------------------------------------------------------------------------------------------- > > Key: DERBY-3806 > URL: https://issues.apache.org/jira/browse/DERBY-3806 > Project: Derby > Issue Type: Bug > Components: JDBC > Affects Versions: 10.4.1.3 > Environment: All operating systems > Reporter: Nathan Boy > > java.sql.SQLException: Cannot close a connection while a transaction is still > active is being thrown when I am closing a transaction after committing. > This does not happen for all transactions, and so far I have been unable to > figure out why it happens for this particular one. The steps the program is > taking are as follows: > 1 - Get a connection to the embedded database > 2 - Set autocommit to false > 3 - Execute a number of statements and prepared statements > 4 - Commit > 5 - Close all prepared statements > 6 - Close the connection > The exception is being thrown when the actual Connection.close() method is > invoked. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.