ConnectString中enlist设置的含义

__叶落__

__叶落__

2016-02-19 16:09

今天图老师小编给大家精心推荐个ConnectString中enlist设置的含义教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~

        因为上次遇到在webservice中处理事务的问题,偶然在调试程序的时候对OracleConnection的连接字符串enlist设置的一个有趣的发现。
        以前看过一篇文章,不记得是什么文章了,文章中说对enlist最好设置为false,当时也没有怎么去深究为什么要设置为false,在我的程序中enlist=false就直接写进去了。现在才发现原来对enlist的设置与事务的处理是有这微妙的关系的。
        事务管理器一般采用两种方式来管理,一种称之为Lightweight Transaction Management,简称LTM,一种称之为oleX TM。在Simple phase提交中一般使用的是LTM,而在分布式事务处理中一般用的是2PC,所以使用的方式是oleX TM的方式。
        如果enlist=false,那么意味着后续的事务不会在当前事务中登记,所以当前事务不会成为事务的根。如果在程序中使用了分布式事务处理,可能也不会正确的执行(关于这一点我没有做测试)。此时程序告诉TM采用LTM的方式来管理。
        如果enlist=true,那么进程告诉TM需要使用oleX TM的方式来管理,此时会自动启用分布式事务管理,所以如果在连接字符串中将enlist=true,如果使用的是oracle数据库,那么后台会调用oramts.dll,如果在开发环境下没有安装MTS for Oracle服务,那么就会提示找不到oramts.dll。你可以从oracle的站点上下载这个服务的安装包,不知道为什么oracle不提供单独的安装包,而是与odac捆绑在一起下载。
         如果你没有对enlist配置会出现什么样的情况呢?这样看你的程序是使用分布式事务还是一般性的事务处理。TM会根据程序的请求自动做出反应。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

  结论:enlist对事务的登记有一定的控制作用。如果我的描述有错,请帮助指正。
  链接地址: http://yanrongpi.cnblogs.com/archive/2006/07/13/450189.html

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)
展开更多 50%)
分享

猜你喜欢

ConnectString中enlist设置的含义

Web开发
ConnectString中enlist设置的含义

宽带ADSL中“网速”的含义

电脑网络
宽带ADSL中“网速”的含义

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

C/C++中函数指针的含义

编程语言 网络编程
C/C++中函数指针的含义

JavaScript中void(0)的具体含义解释

Web开发
JavaScript中void(0)的具体含义解释

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

面相学中的十二宫的含义

面相 手纹算命图解
面相学中的十二宫的含义

解析摄影和诗词中的蒙太奇含义

平面设计 海报设计 广告设计 画报设计 签名设计 服装设计 名片设计 画册设计 版式设计 商标设计
解析摄影和诗词中的蒙太奇含义

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

.Net 2.0 原汁原味读取注册表

.Net 2.0 原汁原味读取注册表

win7库功能的详细解释

win7库功能的详细解释
下拉加载更多内容 ↓