- - PR -
ExecuteNonQuery発行時の問題について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-12-14 09:41
脳味噌筋肉です。お世話になっております。
Dim ConnectionInstance As New OracleConnection(接続文字列※1) Dim OracleCommandInstance As New OracleCommand(UPDATE文※2) OracleCommandInstance.Connection = ConnectionInstance ConnectionInstance.Open() OracleCommandInstance.ExecuteNonQuery() → 問題発生箇所 上記コードの流れでExecuteNonQueryを発行した際、制御が戻りません。 (例外も発生せず) 接続文字列も問題なく(他のトランザクション処理で問題がないため)、UPDATE 文もSQLPLUSなどで流してみると問題なく処理します。 何故かこのコードの時に限ってこの問題が発生するのですが、原因を調査する際のポイ ントで結構ですので思い当たる事がある方、ご教示頂けませんでしょうか? よろしくお願い致します。 | ||||
|
投稿日時: 2004-12-14 09:58
接続文字列をわざとおかしな文字列("fdsafd"など存在しないユーザー名を指定してみるとか)にしてみた場合どうなりますか?
UPDATE文をわざとおかしな文(存在しない列を指定するとか)にしてみたらどうなりますか? | ||||
|
投稿日時: 2004-12-14 10:08
一郎さん、レスありがとうございます。
・接続文字列を「hoge」に変更 Dim ConnectionInstance As New OracleConnection(common.connectString) の箇所で例外発生します。 System.ArgumentException' のハンドルされていない例外が system.data.oracleclient.dll で発生しました。 追加情報 : Format of the initialization string does not conform to specification starting at index 0. ・UPDATE文で構文を間違えてみる →SQL文が無効 ・UPDATE文で存在しない列を指定 →列名が無効 と、このようになります。 | ||||
|
投稿日時: 2004-12-14 10:32
対象となるデータにロックがかかっていませんか?
| ||||
|
投稿日時: 2004-12-14 10:44
にしざきさん、レスありがとうございました。
NOWAITは自分でかけているのでロックではないだろうと見ていましたが 別なデータを更新したところ問題は出ませんでした。 どうもおっしゃるとおりのようです。 排他を見直す事にします。 |
1