SQL SERVER MSDTC問題 |
尚未結案
|
supermp54
一般會員 發表:22 回覆:24 積分:9 註冊:2004-01-02 發送簡訊給我 |
請教各位前輩:
小弟在sql中作ㄧ個跨伺服器的交易,但卻出現錯誤訊息:
伺服器: 訊息 8501,層級 16,狀態 1,行 2
伺服器 'EPDEV' 上的 MSDTC 無法使用。
伺服器: 訊息 7391,層級 16,狀態 1,行 2
由於 OLE DB Provider 'SQLOLEDB' 無法開始分散式交易,所以無法執行此操作。
小弟的sql語法為
BEGIN TRAN insert gvEmp
select * from [10.10.101.117].SBP.dbo.RMASTER
where ( PERSG='B' OR PERSG='C' OR ( PERSG='D' AND PERSK='D0')) IF @@error<>0
BEGIN
ROLLBACK
END
ELSE
BEGIN
COMMIT
END
我這2台伺服器彼此都可以PING通,並且MSDTC服務也有開啟,還是因為作業系統不同(WIN SERVER 2000 SQL SERVER 2000 VS WIN SERVER 2003 SQL SERVER 2000)就不行嗎?
謝謝!!
|
l630521
資深會員 發表:15 回覆:349 積分:372 註冊:2003-02-17 發送簡訊給我 |
|
supermp54
一般會員 發表:22 回覆:24 積分:9 註冊:2004-01-02 發送簡訊給我 |
|
l630521
資深會員 發表:15 回覆:349 積分:372 註冊:2003-02-17 發送簡訊給我 |
|
supermp54
一般會員 發表:22 回覆:24 積分:9 註冊:2004-01-02 發送簡訊給我 |
|
l630521
資深會員 發表:15 回覆:349 積分:372 註冊:2003-02-17 發送簡訊給我 |
|
supermp54
一般會員 發表:22 回覆:24 積分:9 註冊:2004-01-02 發送簡訊給我 |
|
l630521
資深會員 發表:15 回覆:349 積分:372 註冊:2003-02-17 發送簡訊給我 |
|
l630521
資深會員 發表:15 回覆:349 積分:372 註冊:2003-02-17 發送簡訊給我 |
對了!我剛才才發現你是用
BEGIN TRAN insert gvEmp
select * from [10.10.101.117].SBP.dbo.RMASTER
where ( PERSG='B' OR PERSG='C' OR ( PERSG='D' AND PERSK='D0')) IF @@error<>0
BEGIN
ROLLBACK
END
ELSE
BEGIN
COMMIT
END 請改用
BEGIN DISTRIBUTED TRANSACTION
指定開始執行由 Microsoft Distributed Transaction Coordinator (MS DTC) 管理的 Transact-SQL 分散式交易。 Ian
|
supermp54
一般會員 發表:22 回覆:24 積分:9 註冊:2004-01-02 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |