2010-05-19 153 views
0

我是這個板子的新手。我一直在瘋狂地試圖找到我的問題的答案。 我創建了一些TSQL代碼,用於在存儲過程中的遊標中執行一些動態SQL。光標從表x中提取一些數據,在表x中構建一個基於查詢的數據,運行查詢並返回數據。奇蹟般有效。 當我添加一個'insert into table'來捕獲結果時,我得到一個錯誤:注意:只有SQL 2000的錯誤在SQL 2008上運行良好。 無法執行該操作,因爲OLE DB提供程序'MSDAORA'無法開始分佈式事務。 OLE DB錯誤跟蹤[OLE/DB提供程序'MSDAORA'ITransactionJoin :: JoinTransaction返回0x8004d01b]。TSQL SQL 2000存儲過程遊標

+1

你剛使用SQL Server嗎? MSDAORA是Oracle的提供商。 如果你顯示導致問題的SQL,這將有所幫助。 – 2010-05-19 14:59:50

+0

我在一個查詢中想到遊標和分佈式事務以及動態SQl,都不寒而慄。必須有更好的方法來做到這一點。逐行處理是不好的,你想使用數據集。 – HLGEM 2010-05-21 15:05:12

回答

0

您不應該爲此使用光標。我的猜測將是一個與遊標和插入到表中的衝突。

請發佈代碼和您正在解決的問題,以便我們可以幫助您正確編寫它。