0

MS SQL DBには、式に基づいて計算された変数のコレクションを表すテーブルのセットが含まれています。すべての変数は、事前に定義された精度の数値です (整数部の n 桁と小数部の m 桁として nm の数値データ型を使用しています)。

私の質問は、列のサイズに違反する外れ値や無効な値を防ぐ方法ですか? 現在、ADO.net が無効な値に対して例外をスローするため、単純な "try catch" を行っていますが、他に良い方法はありますか? さらに、この外れ値に対して、この列に有効な値を設定したいと考えています (つまり、ゼロの可能性があります)。私は C#3、MSSQL 2000 を使用しており、SqlBulkCopyクラスを使用して挿入しています。

PS:DB側またはdotnet側からの解決策について質問しています

4

3 に答える 3

1

MartinK に同意し、データの一括挿入の前に検証ステップを挿入する必要があります。これにより、このプロセスの単体テストも改善されます。

このテーブルにデータを追加するアプリケーションが複数ある場合は、ストアド プロシージャが検証を強制する別のソリューションになる場合があります。

ただし、別のオプションは、データ型の制限がより緩和された一時/生テーブルに一括挿入を行い、TSQL を使用してそれらのレコードをメイン テーブルにマッサージすることです。

于 2009-04-30T02:54:44.850 に答える
0

データ型の関係を検証する PSQL トリガー/シーケンスを作成してみることができます。

データベース内の同じデータを処理するアプリケーションはどれくらいありますか? 自分のアプリだけの場合は、例外ロジックを中間層の外に移動することを考えるべきではありません。

于 2009-03-13T07:02:07.093 に答える