You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "David Chan (JIRA)" <ji...@apache.org> on 2012/08/31 16:24:07 UTC
[jira] [Commented] (DERBY-5915) "Cannot close a connection while a
transaction is still active" when using PreparedStatement
[ https://issues.apache.org/jira/browse/DERBY-5915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13445983#comment-13445983 ]
David Chan commented on DERBY-5915:
-----------------------------------
I referenced a bug report https://issues.apache.org/jira/browse/DERBY-3806 and changed preparedstatement's constructor to:
PreparedStatement file_stmt = conn.prepareStatement(OperationSql.NEW_FILE, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY,ResultSet.CLOSE_CURSORS_AT_COMMIT);
BUT it does not make thing better!
> "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