国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

ConnectString中enlist設置的含義

2019-11-18 17:06:35
字體:
來源:轉載
供稿:網友

      因為上次遇到在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對事務的登記有一定的控制作用。如果我的描述有錯,請幫助指正。
鏈接地址: http://yanrongpi.VEVb.com/archive/2006/07/13/450189.html


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平谷区| 波密县| 成武县| 珠海市| 景泰县| 东阳市| 家居| 通海县| 额济纳旗| 托克托县| 黄龙县| 乐亭县| 开鲁县| 丹巴县| 桃园县| 苗栗市| 资阳市| 文水县| 临沧市| 连山| 津市市| 汾阳市| 辽宁省| 徐州市| 大邑县| 米泉市| 海盐县| 蕲春县| 禄丰县| 岑溪市| 普宁市| 濮阳市| 井冈山市| 武定县| 肃宁县| 剑阁县| 义马市| 东兰县| 资溪县| 广州市| 江源县|