mysql:15633
From: Kenji Funasaki <Kenji Funasaki <kenji.funasaki@xxxxxxxxxx>>
Date: Tue, 27 Sep 2011 20:31:51 +0900
Subject: [mysql 15633] データ更新時のエラーについて
初めまして、舟崎と申します。 投稿先が間違っておりましたら、申し訳ございません。 MySQL DB 上のテーブルのデータを更新する時に生じるエラーについて 質問させてください。 MySQL DB に対して、Java の Web アプリケーションから データを更新する時に、下記の例外が毎回生じます。 同じテーブルの他の行のデータは更新ができますが、どうも 特定の行のみ更新ができないようです。 ---------------------- Caused by: <openjpa-2.0.1-r422266:989424 fatal store error> org.apache.openjpa.persistence.RollbackException: Streaming result set com.mysql.jdbc.RowDataDynamic@1cd2b82 is still active. No statements may be issued when any streaming result sets are open and in use on a given connection. Ensure that you have called .close() on any active streaming result sets before attempting more queries. at org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:584) Caused by: <openjpa-2.0.1-r422266:989424 nonfatal general error> org.apache.openjpa.persistence.PersistenceException: Streaming result set com.mysql.jdbc.RowDataDynamic@dc294 is still active. No statements may be issued when any streaming result sets are open and in use on a given connection. Ensure that you have called .close() on any active streaming result sets before attempting more queries. at org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4832) at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4792) at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:136) at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:110) at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:62) at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.begin(JDBCStoreManager.java:215) at org.apache.openjpa.kernel.DelegatingStoreManager.begin(DelegatingStoreManager.java:91) at org.apache.openjpa.kernel.BrokerImpl.beginStoreManagerTransaction(BrokerImpl.java:1396) at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2097) at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2037) at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1955) at org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81) at org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1479) at org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:925) at org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:560) ... 32 more Caused by: java.sql.SQLException: Streaming result set com.mysql.jdbc.RowDataDynamic@dc294 is still active. No statements may be issued when any streaming result sets are open and in use on a given connection. Ensure that you have called .close() on any active streaming result sets before attempting more queries. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:934) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931) at com.mysql.jdbc.MysqlIO.checkForOutstandingStreamingData(MysqlIO.java:2724) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1895) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620) at com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:5022) at org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:371) at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setAutoCommit(PoolingDataSource.java:328) at org.apache.openjpa.lib.jdbc.DelegatingConnection.setAutoCommit(DelegatingConnection.java:220) at org.apache.openjpa.lib.jdbc.DelegatingConnection.setAutoCommit(DelegatingConnection.java:220) at org.apache.openjpa.lib.jdbc.ConfiguringConnectionDecorator$ConfiguringConnection.setAutoCommit(ConfiguringConnectionDecorator.java:132) at org.apache.openjpa.lib.jdbc.DelegatingConnection.setAutoCommit(DelegatingConnection.java:220) at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.begin(JDBCStoreManager.java:212) ... 41 more ---------------------- 上記の例外により、データは更新されません。 特定の行のレコードがまだ active (≒更新中のステータス?)となっており、 更新ができないのではないかと考えております。 MySQL DB を再起動、および Java アプリケーションが動作する Tomcat を再起動しましたが、解消されません。 どのようにすれば、上記の状態を解消し、データを更新できるか? どなたかご助言頂けますと大変助かります。 ・環境 DB: MySQL 5.1.52 InnoDB AP: Tomcat 上に Java の動的 Web アプリケーションを配備、 OpenJPA を使って、MySQL DB にアクセス Java: JDK 1.6 他に必要な情報等ありましたら、ご指摘頂けますと幸いです。 よろしくお願いします。 舟崎
-> 15633 2011-09-27 20:31 [Kenji Funasaki <kenj] データ更新時のエラーについて 15634 2011-09-28 11:04 ┗[HIRATSUKA Sadao <hir]