db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Chan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-5915) "Cannot close a connection while a transaction is still active" when using PreparedStatement
Date Fri, 31 Aug 2012 14:34:08 GMT

    [ https://issues.apache.org/jira/browse/DERBY-5915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13445997#comment-13445997
] 

David Chan commented on DERBY-5915:
-----------------------------------

Temporaryly I fixed this problem, but I know its not the right way. The 'trick' is invoke
connection's method 'commit()' after preparedstatement was executed.
 I does not invoke Connection.setAutoCommit(false) to disable 'auto commit', why I need this
operation?
                
> "Cannot close a connection while a transaction is still active" when using PreparedStatement
> --------------------------------------------------------------------------------------------
>
>                 Key: DERBY-5915
>                 URL: https://issues.apache.org/jira/browse/DERBY-5915
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.9.1.0
>         Environment: java 1.6+windows 7
>            Reporter: David Chan
>
> create a Preparedstatement, set its parameters, then execute it. Exception throwed when
closing connection.
> 	PreparedStatement file_stmt = conn.prepareStatement(OperationSql.NEW_FILE);
>         file_stmt.setString(1, rel_path);
> 	file_stmt.setString(2, short_name);
> 	file_stmt.setInt(3, INITIAL_VERSION);
>         int inserted  = file_stmt.executeUpdate();
>         //System.out.println(inserted);
>         file_stmt.close();
>         conn.close();
> Exception:
> java.sql.SQLException: Cannot close a connection while a transaction is still active.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.checkForTransactionInProgress(Unknown
Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.close(Unknown Source)
> BTW,  I want to use Derby as desktop db  of a client application and found it is REALLY
buggy!!

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message