gpt4 book ai didi

c# - 如何将文件复制和更新 SQL 数据库作为单个事务?

转载 作者:搜寻专家 更新时间:2023-10-30 20:51:06 25 4
gpt4 key购买 nike

我的应用程序需要监控文件夹中的传入文件,当它注意到新文件到达时,我需要将其复制到另一个位置并将记录插入 SQL 数据库。

问题是这两个 Action 是独立的,不会作为事务一起成功或失败。

有什么办法可以解决这个问题吗?

一个选项是先更新 SQL,然后复制文件,然后更新 SQL,如果失败则删除文件,但删除操作也可能失败,导​​致两个操作变得不同步。

有一个名为 Transactional NTFS 的系统,但 Microsoft 不建议使用它。

最佳答案

你应该

  1. 创建数据库事务
  2. 创建文件系统事务
  3. 在不提交事务的情况下进行数据库操作
  4. 做文件系统操作
  5. 如果一切正常则提交数据库事务和文件系统事务,如果出现问题则回滚两者 (r)。

我建议检查这个或类似的文件系统事务 http://transactionalfilemgr.codeplex.com/ .

关于c# - 如何将文件复制和更新 SQL 数据库作为单个事务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43119534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com