SQLBulkCopy与Transaction一起使用,并在每次复制批时触发一个事件



我目前正在通过SQLBulkCopy和Transactions将数据上传到MS SQL服务器。我希望能够在每个批次上传后引发一个事件(我已经尝试过SQLRowsCopied事件,但它不起作用,请参阅下面的报价)

MSDN报价:

在执行大容量复制操作期间,连接中不支持任何操作(如事务活动),建议您不要使用SqlRowsCopied事件期间使用的相同连接。但是,您可以打开不同的连接。

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.sqlrowscopied(v=vs.80).aspx

所以我基本上不能边吃边吃:(有人知道解决方案吗,因为我想在每一批上传后启动一个活动。

谢谢你的帮助。

我终于决定使用内部事务。ATM如果遇到错误,则当前批处理被回滚,看起来工作正常。关于Ben上面的评论,我尝试过,但这是不可能的,它并不是循环通过一段代码,在那里你可以引发一个事件。最后,我使用notifyafter属性来引发我的事件,该属性在复制了x行之后引发一个事件。也许这不是最好的方法,但我想不出更好的方法。希望有人觉得这个有用。

最新更新