4.15.2 再接続する契機
再接続する契機を次に示します。
-
CONNECT文の実行直後,又は前回のSQLでトランザクション決着済みの場合に,SQLを実行したとき
-
HiRDBサーバが前回のSQLのトランザクション処理中に,SQLを実行したとき
-
CONNECT文を実行したとき
- 〈この項の構成〉
(1) CONNECT文の実行直後,又は前回のSQLでトランザクション決着済みの場合に,SQLを実行したとき
SQLを実行したときに,接続が切断されているのを検知します。検知した場合,再接続をして,再接続後に再度SQLを実行します。自動再接続後のSQL実行で接続の障害を検知した場合は,UAPへエラーを返却します。再接続する契機(CONNECT文の実行直後,又は前回のSQLでトランザクション決着済みの場合に,SQLを実行したとき)を次の図に示します。
(2) HiRDBサーバが前回のSQLのトランザクション処理中に,SQLを実行したとき
SQLを実行したときに,接続が切断されているのを検知します。検知した場合,接続エラー(SQLCODE=-722,-723)をUAPに返却します。次回のSQL実行時に再接続をして,再度SQLを実行します。
自動再接続後のSQL実行で接続の障害を検知した場合は,UAPへエラーを返却します。再接続する契機(HiRDBサーバが前回のSQLのトランザクション処理中に,SQLを実行したとき)を次の図に示します。なお,エラー返却されたSQLまでに実行していた未決着トランザクションはロールバックされます。
(3) CONNECT文を実行したとき
CONNECT文実行時に,通信エラーなどで接続が失敗した場合,そのまま再接続をします。
再接続する契機(CONNECT文を実行したとき)を次の図に示します。
それぞれの再接続契機に自動再接続機能を適用するかどうかは,クライアント環境定義のPDRCTIMINIGで指定できます。再接続する契機とPDRCTIMINIGの指定値の関係を次に示します。
再接続する契機 |
PDRCTIMING指定値 |
---|---|
CONNECT文の実行直後,又は前回のSQLでトランザクション決着済みの場合に,SQLを実行したとき |
NOTRN又はALL |
HiRDBサーバが前回のSQLのトランザクション処理中に,SQLを実行したとき |
TRN又はALL |
CONNECT文を実行したとき |
CNCT又はALL |
SQL実行シーケンスでの自動再接続契機とPDRCTIMING指定値の対応を次の図に示します。