将日志表插入数据保存在SqlTransaction回滚C#中

时间:2016-06-24 12:00:31

标签: c# stored-procedures triggers sqlbulkcopy sqltransaction

我正在使用SqlTransaction将BulkCopy数据发送到SqlServer数据库中的表。根据插入表中的列值调用几个存储过程。如果有任何错误,我使用Rollback来避免表中的脏数据。我正在将一些数据记录到一个表中,其目的是在调用这些存储过程时记录日志。当我回滚事务时,我也丢失了日志数据。 可以请任何人建议我如何避免这个问题。如果有的话,请分享任何有用的链接。

感谢。

1 个答案:

答案 0 :(得分:0)

如果您的事务是在存储过程中编码的,那么不是在事务中记录,而是连接消息(和时间戳)并在回滚后记录。

另一种方法是将连接字符串作为错误返回,然后在处理SQLException时登录到日志表。