我在我的SSIS包的以下數據流任務:多個OLE DB SSIS交易指令
alt text http://img228.imageshack.us/img228/358/ssis1.png
它讀取從具有記錄與列「變」是cointains外部供應商提供的文件A,C或D用於添加,更改和刪除。我必須在我的SQL Server數據庫中處理這些數據。條件拆分檢查更改列的值並將該行關閉發送到相應的命令。這工作正常。
由於輸入文件有時包含錯誤,我想使這個過程事務化(有10個這樣的數據流任務)。
如果我在SSIS包上啓用事務,但OLE DB命令似乎互相干擾(它們不在同一行上操作)。我得到的錯誤:
Error: 2010-02-02 12:21:08.39
Code: 0xC0202009
Source: name OLE DB Command 1 [58]
Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred.
Error code: 0x80004005.
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0
" Hresult: 0x80004005 Description: "This operation conflicts with another pend
ing operation on this transaction. The operation failed.".
End Error
Error: 2010-02-02 12:21:08.39
Code: 0xC004701A
Source: name SSIS.Pipeline
Description: component "OLE DB Command 1" (58) failed the pre-execute phase
and returned error code 0xC0202009.
End Error
Progress: 2010-02-02 12:21:08.39
我曾嘗試有條件拆分的任何命令,所有的IsolationLevels的交易設置,但似乎沒有任何工作。如果我使條件拆分只使用其中一個分支,它工作正常。 如何繼續?
是的,已經做到了。 – ArjanP 2010-02-05 15:27:36