- - PR -
C#+Ole Oracleエラーコードの取得について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-06-09 21:17
C#+Oleを使用して、Oracle9i上のテーブルに、データをInsertしようと
しています。 Insertに失敗(例えば、NULL制約違反等)した時、どのようなエラーが 発生したのか分かるために、Oracleエラーコードを取得したいと考えて います。 (「NULL制約違反なら、1407」のように) OleDbExceptionをcatchし、ErrCodeやMessageを参照しましたが、希望する コードが取れませんでした。 Oracleエラーコードの取得方法をご存じの方がいらっしゃたら、教えて いただけますか? よろしくお願いします。 |
|
投稿日時: 2005-06-09 21:37
ODP.NETを使えば何も問題はないと思うのですが・・・
Data Provider for OLE DB を使っている理由は何ですか? ちなみにOleDbErrorクラスを使えば、Oracleのネイティブなエラーコードも取得できるはずです。 |
|
投稿日時: 2005-06-09 21:46
甕星さん、返信ありがとうございます。
説明不足ですみません。 Data Provider for OLE DB を使用した理由は、OracleとMDBを、 Connectionのみを変えることによって、アクセスするクラス(SQLを実行する クラス)を共通化しようと思ったからです。 OleDbErrorクラスについては、調査不足でした。 アドバイス、ありがとうございました。 |
|
投稿日時: 2005-06-09 22:01
かいです。
アドバイスをいただき、エラーコードを取得することができました。 その時のコードを記載します。(省略してますが。。。) catch (OleDbException cause) { System.Console.WriteLine(cause.Errors[0].Message) ; } 下記のように表示しました。 ORA-01400: ("USER"."EMP"."AGE")にはNULLは挿入できません。 どうもありがとうございました。 |
1