保存日志表插入的数据在SqlTransaction回滚c#中

本文关键字:SqlTransaction 回滚 数据 日志 插入 保存 | 更新日期: 2023-09-27 17:49:25

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

谢谢。

保存日志表插入的数据在SqlTransaction回滚c#中

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

另一种方法是返回连接的字符串作为错误,然后作为处理SQLException的一部分记录到日志表中。