■SI ObjectBrowser掲示板

ユーザの皆様、開発者、サポート担当者の交流のための掲示板です!discussion
ユーザーのみなさま同士で教え合ったり、アドバイスしたりする暖かい交流の場にしたいと思っていますので、相互協力をよろしくお願いします。なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。

※◆のカラーは投稿の対象となる製品に対応しています。【…OB …OBER …全般 ◇…その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。




下キーでの更新処理をできないようにしたい 2023/10/18 10:51:01
ととゆも           terashima@nrsnet.co.jp
現在SI Object Browser for Oracle 18 を利用しています。

タイトルに記載した通り、下キーの押下で自動的にレコードの更新が反映されず、コミットボタンの押下でのみ更新が反映されるように設定を変更したいです。

掲示板を参考にして「データ編集時に自動的にCOMMITする」のチェックを外してみたのですが、依然下キーで設定が反映されてしまいました。

何か他に設定を弄れる箇所があるでしょうか?
元の文章を引用して返信

Re: 下キーでの更新処理をできないようにしたい 2023/10/18 18:58:57
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における動作が影響していると考えられます。

このため、手動でのコミットを行う設定にてデータ操作を行う際には、
明示的なコミット、もしくは明示的なロールバック(専用のボタンでの操作)を適宜実施いただく形で運用をお願いできますと幸いです。

本件、大変お手数ではございますが、何卒よろしくお願い申し上げます。
元の文章を引用して返信