2017-03-28 43 views
0

ngdbc.jar経由でHANA DBを接続しています。接続は正しく行われますが、クエリ実行後3-4回HANA DBへの接続が失われます。 JAVAサーバーを再起動すると、3〜4回動作します。誰も助けることができますか? Check error description hereJDBC経由でHANA DBに接続する際の接続の問題

エラーMsg-

WARN [org.hibernate.util.JDBCExceptionReporter] (http--0.0.0.0-8080-6) SQL Error: -708, SQLState: 08006 
ERROR [org.hibernate.util.JDBCExceptionReporter] (http--0.0.0.0-8080-6) Data receive failed [Connection reset]. 
INFO [com.ultimatix.controller.MetricsController] (http--0.0.0.0-8080-6) context setMonthFreezeDateorg.hibernate.exception.JDBCConnectionException: could not execute query 
ERROR [org.hibernate.transaction.JDBCTransaction] (http--0.0.0.0-8080-6) JDBC rollback failed: com.sap.db.jdbc.exceptions.jdbc40.SQLNonTransientConnectionException: Connection to database server lost; check server and network status [System error: Socket closed] 
+0

、テキストとしてではなく、 –

+0

うん接続が期限切れになることができ、画像のようにエラーテキストを投稿し、接続プールと適切な「健全性チェック」クエリを使用してください。これらの@RCの操作方法は –

+0

です。 –

答えて

0

私はあなたのログに基づいて休止状態を使用している見ることができます。

あなたのスタックで少し詳しく説明できますか?

@RCによると、「JAVA」サーバーで実行している場合は、直接接続を開く代わりに接続プーリングを検討する必要があります。

接続が長時間開いていると、タイムアウトになることがあります。

ログやサンプルコードを共有できるようになるまで、これらはすべて推測です。

もう1つのことは、ngjdbcドライバにのみ関連しています。デフォルトではfalseに設定されている「再接続」接続プロパティがあります。

よろしく

+0

各問合せの実行前に接続をオープンしています。クエリが実行されます。 session = this.sessionFactory.openSession(); session.flush()を実行した後。 \t \t \t session.clear(); \t \t \t session.close(); –

+0

こんにちは、メソッドの名前に基づいて、私はあなたがSAP HANAのテーブルを更新していると推測しています。しかし、あなたはフラッシュを閉じる前にあなたの変更をコミットしているかどうかは言わなかった。 一連のselect only文を実行しようとしましたか? –

関連する問題