いつも参考にさせていただいています。
win2000でdelphi5を使用しています。
(DBは、oracle8iです。)
先日、2年ほど更新されていないプログラムを修正することに
なり、とりあえずコンパイル&動作確認をしました。
しかし、DB更新処理を行うと
「ユーザートランザクションはすでに進行中です」という
メッセージが表示され、処理が中止されてしまいます。
(ApplyUpdatesで更新する場合に、メッセージが出ます。)
BDEの設定などは、特に問題なさそうです。
このメッセージを見たことのある方や、
エラーを回避されたことのある方がいらっしゃいましたら、
どんなことでも構いませんので、教えていただけますか。
よろしくお願いいたします。
すでにトランザクションを実行中に、トランザクションを開始しようとしているのではないでしょうか?検査をしてみればわかります。
HOtaさん、早々の書き込み、ありがとうございます。
プログラムに不具合があるのか?とも考えたのですが、
同じ環境のPCが2台あり、1台でこの事象が発生し、
もう一方のPCでは発生せずにDB更新可能になります。
(説明不足で申し訳ありません。)
なので、BDEの設定などを比べて同じにしたにも
関わらず、エラーは解消されませんでした。
あとは何を調べたら良いのか、行き詰まってしまっている状態です・・・。
デバッグ用に、いろいろな情報をログにでも出す様にして、調べるしかないでしょう。
BDEの設定は比べて同じにした、ということなので、お役にはたてませんが。
BDEの SQLPATHTHRUMODE を
SHARED AUTOCOMMIT から SHEARED NOAUTOCOMMIT に変更
で解消した、という実績があります。
こはくさん。
書き込み、ありがとうございました。
お手上げ状態なので、感謝しております。
SQLPATHTHRUMODEを変更してみましたが、
エラーは解消されませでした。
残念です・・・。
HOtaさんのおっしゃるように、
デバッグで怪しい所を発見するしかないかも
しれません。
ツイート | ![]() |