@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

PrimaryKey違反の判断

1
投稿者投稿内容
こういち
会議室デビュー日: 2007/06/07
投稿数: 3
投稿日時: 2007-06-07 17:02
お世話になります。
別のMLに同内容を投稿しましたが、回答がつかなかったので
こちらに投稿させていただきます。マルチポストですがどうかご容赦ください。

現在、System.Data.Common以下のクラスを使用して、
できるだけDataProviderやDBMS非依存なコードを書こうとしています。
で、データの追加時に、PrimaryKey違反を検出しようとしているのですが、
使用しているDataProviderやDBMSによらず、統一的な方法で、発生した例外が
PrimaryKey違反によるものであると判断する方法はあるでしょうか?
ご教示よろしくお願いいたします。
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2007-06-07 17:43
SQL文実行時にPrimaryKey違反で発生する例外は
Oracle、SQLServerの2つを見ても
内包する情報に共通点がありません。

例外を解析してデータベースごとの
PrimaryKey違反を判定するしかないと思います。
めだか
大ベテラン
会議室デビュー日: 2004/11/11
投稿数: 109
投稿日時: 2007-06-07 17:57
Existsで存在する場合は処理しないようにするとか
こういち
会議室デビュー日: 2007/06/07
投稿数: 3
投稿日時: 2007-06-08 12:48
めだかさん、あすかさん、ご回答ありがとうございます。
やはり、DBMS毎に異なるロジックをまったく排除することは
無理そうですね。
共通化できる機能を実装したクラスを作っておいて、
DBMS毎に異なるロジックは、それを継承した特定DBMS用サブクラスで
実装することにします。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)