我目前正通过SQLBulkCopy和Transactions将数据上传到MS SQL服务器。我希望能够在每个批次上传后引发一个事件(我已经尝试过SQLRowsCopied事件并且它不起作用,请参阅下面的引用)
MSDN引用:
在执行批量复制操作期间,连接中不支持任何操作(如事务活动),建议您不要使用在SqlRowsCopied事件期间使用的相同连接。但是,您可以打开其他连接。
所以我基本上不能吃我的蛋糕并且吃它:(有没有人知道解决这个问题的方法,因为我想在每个批次上传后发起一个事件。
感谢您的帮助。
答案 0 :(得分:0)
我最终决定使用内部交易。如果遇到当前批次回滚的错误,ATM似乎工作正常。关于Ben上面的评论,我尝试了这个,但它不可能,它不像它循环通过你可以举起事件的一段代码。最后,我使用了notifyafter属性,该属性在复制了x行后引发了一个事件,以引发我的事件。可能不是最好的方式,但我无法找到更好的方法。希望有人觉得这很有用。