oracleDataAdapterのUpdateメソッドでDBConcurrencyException: 同時実行違反が発生
- 題名: oracleDataAdapterのUpdateメソッドでDBConcurrencyException: 同時実行違反が発生
- 著者: gnw54
- 日時: 2009/08/21 16:48:15
- ID: 25261
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: oracleDataAdapterのUpdateメソッドでDBConcurrencyException: 同時実行違反が発生
- 著者: るしぇ
- 日時: 2009/08/21 18:33:48
- ID: 25262
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: oracleDataAdapterのUpdateメソッドでDBConcurrencyException: 同時実行違反が発生
- 著者: 魔界の仮面弁士
- 日時: 2009/08/21 19:12:03
- ID: 25264
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: oracleDataAdapterのUpdateメソッドでDBConcurrencyException: 同時実行違反が発生
- 著者: gnw54
- 日時: 2009/08/26 20:39:22
- ID: 25299
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
お世話になります。
現在、OracleDataAdapterのFillメソッドにて、DBのデータをDataSetに格納し、それをプログラム上で編集し、OracleDataAdapterのUpdateメソッドによりDBに反映するプログラムを作成しております。
このプログラムで先日、
System.Data.DBConcurrencyException: 同時実行違反 : UpdateCommand によって、処理予定の 1 レコードのうち 0 件が処理されました。
とのエラーが発生しました。
調査してみたところ、更新対象のテーブルには上のプログラム以外は更新していない状況です。
また、上記のエラー発生時に、catchした中でRowプロパティを参照してみたところ、特に問題となる箇所は見当りませんでした。
(Rowプロパティで得られた値と全く同じ行がDB上にも存在し、なおかつ中の値も
同じものでありました。)
ちなみに、Updateで使用するコマンドは、CommandBuilderにて自動生成したものを使用し、更新対象は単一のテーブル、主キーは3つで、その中にはDATE型の列も含まれます。
なお、主キーの値はプログラム上では書き換えていないことは確認済みです。
(新規行の作成はありますが、問題となっているデータがDB上にも存在していることから、おそらくUpdateでのエラーと思われます。)
通常、本エラーは複数ユーザーの同時更新で発生するものと認識しますが、今回、複数ユーザーによる更新ということはありませんでした。
複数のユーザーが更新しているわけでもないのに上記エラーが発生することは有り得るのでしょうか?
何卒よろしくお願いします。