惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
有赞技术团队
有赞技术团队
T
The Blog of Author Tim Ferriss
F
Fortinet All Blogs
D
DataBreaches.Net
F
Full Disclosure
腾讯CDC
博客园 - 【当耐特】
MyScale Blog
MyScale Blog
Stack Overflow Blog
Stack Overflow Blog
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
爱范儿
爱范儿
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
SegmentFault 最新的问题
The Register - Security
The Register - Security
WordPress大学
WordPress大学
博客园 - 聂微东
雷峰网
雷峰网
J
Java Code Geeks
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Privacy International News Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
A
Arctic Wolf
Scott Helme
Scott Helme
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tor Project blog
博客园 - 三生石上(FineUI控件)
Know Your Adversary
Know Your Adversary
AWS News Blog
AWS News Blog
G
Google Developers Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
CERT Recently Published Vulnerability Notes
O
OpenAI News
Project Zero
Project Zero
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Application and Cybersecurity Blog
Application and Cybersecurity Blog
云风的 BLOG
云风的 BLOG
N
News and Events Feed by Topic
MongoDB | Blog
MongoDB | Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Security Blog
Microsoft Security Blog
Cisco Talos Blog
Cisco Talos Blog
P
Palo Alto Networks Blog
Schneier on Security
Schneier on Security

博客园 - Feelwindy1

博文阅读密码验证 - 博客园 Windows Live Messenger Beta的邀请 浅谈存储过程与函数的区 Ajax程序设计入门 [转] NHibernate(转) 与女友的相处之道(转) 两点连接寻径算法 软件架构与设计模式 Enterprise JavaBeans导论[转] 设计模式:MVC模式 (java) 构架师之路 Eclipse基础--使用links方式安装Eclipse插件 debug与release - Feelwindy1 - 博客园 分布式数据库事务 Winform在设计上的一个小Bug 连连看源码调试问题 连连看精简测试版源码 阻塞和死锁 响应号召,发布连连看(C#+MDX9 精简测试版)
ADO.NET事务和Set Xact_Abort 以及MSDTC
Feelwindy1 · 2005-06-14 · via 博客园 - Feelwindy1

      ADO.NET中提供的SqlTransaction对象与我们在SP(存储过程)中显示的应用“Set Xact_Abort”语句来做事务处理是两种在不同层面对事务进行处理的方法。
      首先可以肯定的是,如果不在SP中显示的调用“Set Xact_Abort”语句来做事务处理,ADO.NET中提供的SqlTransaction对象能够正常的处理事务,比如遇到错误进行回滚操作等。它们两者之间是让开发人员根据自己的业务需求从不同的层面和角度来选择自己的事务处理方式。SqlTransaction对象是允许我们在数据访问层进行事务处理,而“Set Xact_Abort”语句是让我们在数据库中进行事务处理,可以说两者是提供不同的方法,但却实现了同样的功能。两者最关键的区别我认为就是“事务边界”的不同了,使用“Set Xact_Abort”是使用T-SQL中的“BEGIN TRANSACTION”和“COMMIT/ROLLBACK TRANSACTION”语句来确定事务边界的,而使用SqlTransaction对象则是通过手动指定其边界的。当然,两者的性能也是有不同的,在SP中使用“Set Xact_Abort”的效率要高于使用SqlTransaction对象,但是在事务处理的灵活性和自由度上却不如SqlTransaction对象。
当然,具体选用那种事务处理方法要视我们具体的需求而定。

关于MSDTC与这两种事务操作的关系。MSDTC是我们自己根据业务需求编写的一个COM+的服务,最主要的用途是来进行不同数据源访问的事务处理工作。这点是上述两种事务处理方法所无法做到的。也就是说,如果我们的事务来自于两种或以上不同的数据源,那么我们应该使用MSDTC来进行事务处理。并且,使用MSDTC进行事务处理,我们可以很方便的重用该COM+服务,这也是上述两种方法所不能胜任的。