【问题标题】:How does a TransactionScope implementation work? What database support is required?TransactionScope 实现如何工作?需要什么数据库支持?
【发布时间】:2012-03-29 05:28:45
【问题描述】:

刚刚阅读TransactionScope implementations

有人可以确认这种技术是由客户端 .net 驱动的,还是需要特定数据库供应商提供的特殊功能?这是只有 SQL Server 的东西吗?

【问题讨论】:

  • 至少对于非分布式(和非嵌套)TS,它只是为命令自动设置的线程本地事务信息等。永远不太清楚嵌套/分布式范围如何工作.. . 可能希望专注于 TS 的特定方面,因为即使是 DTC 也并非在所有 SQL Server 隔离级别中都可用。
  • @pst:非嵌套是什么意思。像一级交易?他们是否以某种方式标记/查询线程以发现是否存在正在进行的事务?
  • 嗯,这一切都是用线程本地信息完成的(用于处理动态范围),但那是我在对冲我的赌注——例如,并非所有数据库都支持可嵌套事务。
  • (好吧,"nestable" = "concurrent transactions" 更适合这种情况。)
  • @pst:如果你自己实现这个,对 Thread.CurrentContext.ContextID 进行静态查找听起来合适吗?这是唯一的 ID 吗?

标签: c# .net ado.net transactions transactionscope


【解决方案1】:

如果您的问题还包括 RDBMS 供应商,那么 SQL Server Compact 支持它,Oracle 也支持。

【讨论】:

  • 我应该更加关注这个问题。我对谁实施它感兴趣,但更重要的是实施。例如,是否很难对未实现的 DBMS 进行改造(如果它确实是特定于 DBMS 的想法)。到目前为止,我看到的 MS 文档在这个主题上相当乏味。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-09
  • 2016-11-22
  • 2012-07-23
  • 1970-01-01
  • 2011-08-01
  • 2012-02-23
  • 2014-06-04
相关资源
最近更新 更多