可以使用SqlBulkCopy将信息插入到2个表的视图中吗?

c# sqlbulkcopy sql-server

我正在使用SqlBulkCopy来处理大量插入到某些数据库中。这导致一个db的性能改进很大。

但是,另一个目标db表是组成2个表的视图。应用单表代码会导致“System.Data.SqlClient.SqlException:视图或函数'dbo.vwParameter'不可更新,因为修改会影响多个基表”。可以将视图展平到一个表中而不会引起许多复杂化,尽管这是不希望的,因为它节省了大量的磁盘空间。

那么在这种情况下是否可以使用SqlBulkCopy,我只是做错了什么?或者如果没有,那么什么可能是一个很好的解决方案,保留阅读的观点?

一般承认的答案

原来,SqlBulkCopy默认忽略了my而不是触发器。我所要做的就是将SqlBulkCopyOptions.FireTriggers传递给SqlBulkCopy构造函数。


热门答案

您可以使用带有SqlBulkCopy的视图。
但我相信你的问题是你拥有的视图是不可更新的。
视图必须满足某些要求才能更新。
你可以在这里找到更多信息http://msdn.microsoft.com/en-us/library/ms187956.aspx
查找“可更新视图”部分。

我建议你直接填充这两个表中的每一个,如果可能的话,一次一个?



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因