日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

读懂ConnectString 中 enlist 设置的含义

發布時間:2023/11/27 生活经验 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 读懂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會根據程序的請求自動做出反應。

?????? 簡單的講enlist=true則支持分布式事務處理(支持Transactionscope 事物處理),反之依然.

?

結論:enlist對事務的登記有一定的控制作用。如果我的描述有錯,請幫助指正。

轉載于:https://www.cnblogs.com/jhxk/articles/1781768.html

總結

以上是生活随笔為你收集整理的读懂ConnectString 中 enlist 设置的含义的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。