SqlBulkCopyを使用して、2つのテーブルのビューに情報を挿入することは可能ですか?

c# sqlbulkcopy sql-server

質問

SqlBulkCopyを使用して、一部のデータベースに大規模な挿入を処理するように移行しています。これにより、1つのデータベースのパフォーマンスが大幅に向上しました。

しかし、別のターゲットdbテーブルは、2つのテーブルを構成するビューです。単一のテーブルコードを適用すると、 "System.Data.SqlClient.SqlException:表示または機能 'dbo.vwParameter'は変更が複数の基本テーブルに影響するため、更新できません。多くの複雑さを引き起こすことなくビューを1つのテーブルに平坦化することは可能ですが、それは良いビットディスクスペースを節約するので望ましくありません。

だから、このコンテキストでSqlBulkCopyを使用することは可能ですか?私はちょうど何か間違っていますか?そうでない場合は、読書の見解を維持する良い回避策はありますか?

受け入れられた回答

SqlBulkCopyはデフォルトでトリガーの代わりに私のことを無視していたことが判明しました。私がしなければならなかったことは、SqlBulkCopyOptions.FireTriggersをSqlBulkCopyコンストラクタに渡すことでした。


人気のある回答

SqlBulkCopyでビューを使用できます。
しかし、あなたの問題は、あなたが持っているビューが更新可能ではないということです。
ビューが更新可能でなければならない特定の要件があります。
詳細はこちらhttp://msdn.microsoft.com/en-us/library/ms187956.aspx
「更新可能なビュー」セクションを探します。

可能であれば、これらの2つのテーブルのそれぞれを一度に1つずつ直接作成することをお勧めします。



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ