多くの行(Entity Frameworkオブジェクトから構築)をSQL Serverに挿入します。問題は、一部の文字列プロパティの長さがデータベースの列の長さを超えているために例外が発生し、すべての行がデータベースに挿入できなくなることです。バルク挿入時に文字列を自動的に切り捨てる方法は?
SqlBulkCopyに長すぎる行を自動的に切り捨てるように指示する方法があるのだろうか?もちろん、DataTableに挿入する前に、限られた長さを超えた場合は、各プロパティをチェックして部分文字列を取りますが、プログラム全体が遅くなります。
-1トリガーが遅すぎる:トランケーションが発生するコードが実行される前にチェックでも例外が発生します。 Opは彼らが始まった場所に戻っています。 – gbn
+0.5? INSTEAD OF INSERTトリガーを使用すると、挿入するデータをトリムすることができますが、ステージングテーブルはより良いパスです。 – SqlACID