鏈結資料庫 遠端事務的處理方式

2022-04-15 08:31:07 字數 2177 閱讀 9310

1.odbc鏈結方式

--建立鏈結伺服器

exec sp_addlinkedserver 'remote_queuerpt','','msdasql',null,null,'driver=; server=192.168.1.103; uid=sa; pwd=sa; '

--建立鏈結伺服器登陸對映

exec sp_addlinkedsrvlogin @rmtsrvname='remote_queuerpt',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='sa'

go2.oledb鏈結方式

exec sp_addlinkedserver 'remote_queuerpt','','sqloledb','192.168.1.112'

exec sp_addlinkedsrvlogin 'remote_queuerpt','false',null,'sa','sa'

go好了,鏈結伺服器已經建立成功,下面是我要執行的儲存過程,用到了非同步事務

set quoted_identifier off

goset ansi_nulls on

gogo

set quoted_identifier off

goset ansi_nulls on

go儲存過程建立好了,下一步要執行該儲存過程來傳送資料了

exec wy_upload

該語句執行了近一分鐘後,終於執行完畢,結果肯定沒那麼順利,會彈出錯誤資訊如下圖所示:

伺服器:訊息7931,級別16,狀態1,行5

該操作未能執行,因為ole db提供程式'sqloledb'無法啟動分布式事務

[ole/db provider returned message:新事務不能等級到指定的事務處理器中]

ole db 錯誤跟蹤[ole/db provider 'sqloledb' itransactionjoin::jointransaction returned 0x8004d00a]

啟用網路dtc是分布式資料庫事物控制的必要條件。設定過程應依下面步驟進行。

1)      單擊「開始」,指向「控制面板」,然後單擊「新增或刪除程式」;

2)      單擊「新增/刪除 windows 元件」;

3)      選擇「應用程式伺服器」,然後單擊「詳細資訊」;

5)      單擊「下一步」;

6)      單擊「完成」;

7)      停止分布式事務處理協調器服務,然後重新予以啟動;

8)      停止 microsoft sql server 和其他參與分布式事務處理的資源管理器服務(如 microsoft 訊息佇列),然後將其重新啟動。

二、windows xp配置msdtc的方法

控制面板-----〉管理工具-----〉元件服務

選擇元件服務-----〉計算機--------〉我的電腦,再點選滑鼠右鍵。

「點選安全性配置(i)….」按鈕,選擇項如下:

注:設定成功之後應重啟msdtc服務,之後再重啟資料服務,注意先後順序。

本以為大功即將告成,但執行儲存過程之後問題依舊,繼續baidu,將會有以下的解決方案

啟動rpc服務,        該服務應該是預設啟動吧?排除

開啟135埠並設為例外(防火牆設定),

c:\windows\system32\driver\etc\host  進行ip和網域名稱對映之類的

以下是刪除鏈結伺服器登入對映和鏈結伺服器:

exec sp_droplinkedsrvlogin 'remote_queuerpt' ,'sa'

exec sp_dropserver 'remote_queuerpt'

鏈結資料庫 遠端事務的處理方式

環境 windows server 2003 sp2 mssql 2000 sp4 1.odbc鏈結方式 建立鏈結伺服器 exec sp addlinkedserver remote queuerpt msdasql null,null,driver server 192.168.1.103 uid...

多種資料庫的處理方式

1 oracle8 8i 9i資料庫 thin模式 載入驅動 class.forname oracle.jdbc.driver.oracledriver string url jdbc oracle thin localhost 1521 orcl orcl為資料庫的sid string user ...

c tree資料庫的大資料檔案處理方式

在32位系統下,檔案最大為4g,而c tree資料庫的每個表都是以單獨的檔案來儲存的,當檔案達到4g時如果再往該錶插入資料,c tree會丟擲39號錯誤 the 4 byte data record position or node position address space has been e...