分布式事务 dtc 的使用
OpenDataSource
OpenQuery
OpenRowSet
處理分布式數據庫,寫程序比較簡單,但配置DTC比較復雜,查了MSDN為證。
本人為了簡單也寫了相應的程序,發覺10個公司只有一個公司能得到數據。搜了MSDN,發覺原來有那么多人在配置DTC上碰到問題。
研究了文章如下
一.A.不用事務,關用SELECT 語句.是否可以分布式查詢?
?? B.LINKSERVER 在做分布式更新事務時不能對本機操作.(就是不能環回分布式事務)
?? C.DBCC TRACEON (3604, 7300)--用跟蹤看更詳細錯誤信息.
?
?? D.下載MS提供的DTCPing.exe 分裝在兩臺機上,按README說明來運行它.看出錯信息.
http://download.microsoft.com/download/complus/msdtc/1.7/nt45/en-us/DTCPing.exe
二.兩臺機的MSDTC是否都打開了.
三.MSDTC設置是否正確.
1.打開命令提示,運行"net stop msdtc",然后運行"net start msdtc"。
2.轉至"組件服務管理工具"。
3.瀏覽至"啟動管理工具"。
4.選擇"組件服務"。
?a.展開"組件服務"樹,然后展開"我的電腦"。
?b.右鍵單擊"我的電腦",然后選擇"屬性"。
?C.在 MSDTC 選項卡中,確保選中了下列選項: 網絡 DTC 訪問
?網絡管理
?網絡事務
??? XA 事務
?e.另外,"DTC 登錄帳戶"一定要設置為"NT Authority\NetworkService"。
5.單擊"確定"。這樣將會提示您"MS DTC 將會停止并重新啟動。
? 所有的依賴服務將被停止。請按'是'繼續"。單擊"是"繼續。
6.單擊"確定"關閉"我的電腦"屬性窗口。
四.
MSDTC依賴于RPC,RPC使用的端口是135,測試135端口是否打開.是否有防火墻?如果有先關了防火墻.
telnet IP 135
如果是關閉的打開它.
五.
有的機由于各種原因),SQLOLEDB不能使用分布式事務,更改為"MSDASQL" 的ODBC方式聯接.
使用RRAS而不是RAS.(控制面版--管理工具--遠程服務管理器)
Check whether you are using Remote Access Server (RAS) to access remote servers. If so, make sure that you have implemented Routing RAS (RRAS). Linked server does not work on RAS because RAS allows only one way communication.
七.檢查你的兩臺服務器是否在同一個域中.
如果不在同一個域中,是否建立可信任聯接.
八.如果是WIN2000,升級到SP4
九.升級MDAC到2.6以上,最好是2.8.
十.要安裝SQL的最新補丁: sp3a
'全部補丁的位置
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=9032f608-160a-4537-a2b6-4cb265b80766
'應該安裝的補丁sql 2000 sp3
http://download.microsoft.com/download/d/d/e/dde427eb-0296-4eac-a47c-d11a66b03816/chs_sql2ksp3.exe
針對以上十點
本人認為:
1、環境是重要的。馬上按部就班的
因為是win2000和sql server
做了??八.如果是WIN2000,升級到SP4??
??????? 九.升級MDAC到2.6以上,最好是2.8.
??????? 十.要安裝SQL的最新補丁: sp3a??
兩點。
發覺居然10公司,能處理的上升到9個。只有一個沒通了。
2、工具是很重要的。
(1)懷疑是135端口,就用一個檢查端口的工具去看,發覺端口沒有問題。
(2)下了http://download.microsoft.com/download/complus/msdtc/1.7/nt45/en-us/DTCPing.exe
工具,測試,看了readme,說由三步,第一步驗證名稱,第二步驗證rpc,第三步dtc,好,我居然發現名字驗證都沒通過,
總于發現tcp/ip的netbios被關掉了,咳 dtc 居然一定要名稱。不用IP. I 服了 he了。
3、出現遠地的計算機只能用IP地址訪問不能進行名字訪問,我碰到如下。
???? (1)、路由的設置的問題,倆個路由是否確定無誤(VPN能連通并不代表名字訪問能成功,版本一致,允許芳臨訪問,無其他異常)。
???? (2)、是否出現錯誤日志DCOM,出現此錯誤也將不能進行名字訪問。
???? (3)、相應tcp/ip的netbios是否打開。?
?????(4)、很怪的一條:如果是建立VPN的,這本地的掩碼必須是255.255.255.0,郁悶啊,如果是224,240的就是提示說不能啟動分布式事務
????(5)、兩個庫如果是本地的用這幾個函數是無效的。
轉載于:https://www.cnblogs.com/huqingyu/archive/2007/05/23/757472.html
總結
以上是生活随笔為你收集整理的分布式事务 dtc 的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过DataTable导出Excel
- 下一篇: 【转载】防范SQL注入式攻击