|
OBサポート
|
|
OBサポートです。
■手動でのコミット時の動作について オプションによる手動コミット設定をした状態でテーブルのデータグリッドを操作する場合、 明示的にコミットもしくはロールバックをするまでは編集した状態のままデータが表示されます。
例) CREATE TABLE A_TBL (COL1 NUMBER, COL2 NUMBER); のテーブルに対して、
手動コミットの設定で (COL1, COL2) = (1, 1)のレコードを追加し、セルを移動することで、 グリッド上では該当のデータが残ります。
一方で、Oracle Database上ではトランザクションが継続されている状態となりますので、 再検索をかけた際にも(1, 1)のデータが残ります。
上記の状態で ・明示的なコミットを実行する(コミットボタン押下) →(1, 1)のレコードが確定するため、再検索やセッション切断→再接続後にデータを確認しても該当のデータは残る状態となります。
・明示的なロールバックを実行する(コミットボタン隣にあるロールバックボタン押下) →トランザクションが取り消されるため、グリッドに追加した(1, 1)のレコードも取り消されます。 再度検索をかけたり、セッションを再接続後の検索においてもレコードは追加されてない状態となります。
■暗黙的なコミットについて Oralce Databaseでは、トランザクション中にセッションが正常に終了された場合には、 一般的には暗黙コミットが行われます。 例) トランザクションを開始→データグリッドでデータを追加→アプリケーションを終了する→再度アプリケーションを立ち上げると追加したレコードが残る(トランザクションがコミットされるため)
もし手動コミット設定の状態で、セッション再接続などによってロールバックがされていない場合には、 上記のOracle Databaseにおける動作が影響していると考えられます。
このため、手動でのコミットを行う設定にてデータ操作を行う際には、 明示的なコミット、もしくは明示的なロールバック(専用のボタンでの操作)を適宜実施いただく形で運用をお願いできますと幸いです。
本件、大変お手数ではございますが、何卒よろしくお願い申し上げます。 |
|
|