2012-02-03 35 views
0

当前正在通过SQLBulkCopy和事务将数据上传到MS SQL服务器。我希望能够引发事件的每一批已上载后(我已经尝试SQLRowsCopied事件,它不工作,见下文报价)SQLBulkCopy与事务一起使用并在每次复制批次时触发一个事件

MSDN报价:

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

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

所以我基本上不能有我的鱼和熊掌兼得:(有谁知道周围一个解决方案,我想触发一个事件,每一批已上载后。

谢谢

+0

只需亲自参加活动,兄弟。你知道你什么时候上传了一批。 – Ben 2012-02-03 09:30:07

回答

0

我终于决定使用一个内部交易ATM似乎工作正常,如果遇到错误当前批次回滚关于本评论上面,我试过这个,但它不可能,它不像循环t通过一段代码,你可以提出一个事件。最后,我使用了notifyafter属性,该属性在复制了x行后引发了一个事件,以引发我的事件。可能不是这样做的最佳方式,但我无法找出更好的方法。希望有人认为这有用。