這可能是一個愚蠢的問題,但我有一個數據流任務,OLE DB源和平面文件目標。SSIS 2005 - 在數據流中更新*和*選擇OLE DB源
在我的OLE DB源我想有一個UPDATE語句,然後選擇一個。當我這樣做時,我似乎沒有將任何行寫入我的平面文件。順便說一句,我正在這樣做,以幫助確保如果我的選擇失敗,我的更新不會發生。 (我打算在BEGIN TRAN和COMMIT之間放置兩條語句。)
不幸的是我不能使用SSIS事務,因爲運行SSIS的服務器沒有運行DTC服務。
這可能是一個愚蠢的問題,但我有一個數據流任務,OLE DB源和平面文件目標。SSIS 2005 - 在數據流中更新*和*選擇OLE DB源
在我的OLE DB源我想有一個UPDATE語句,然後選擇一個。當我這樣做時,我似乎沒有將任何行寫入我的平面文件。順便說一句,我正在這樣做,以幫助確保如果我的選擇失敗,我的更新不會發生。 (我打算在BEGIN TRAN和COMMIT之間放置兩條語句。)
不幸的是我不能使用SSIS事務,因爲運行SSIS的服務器沒有運行DTC服務。
假設您所需的序列是SELECT - > UPDATE - > WRITE_TO_FLAT_FILE,請使用您的OLE DB Source進行選擇,然後使用OLE DB Command執行更新。最後,使用平面文件目標將數據寫出。
在OLE DB Source中,將錯誤輸出設置爲'fail component'或'redirect rows';任何一個都可以讓你避免後續的更新命令。
您必須對您的控制流程進行更新。
添加一個執行SQL任務使用update命令,從任務到數據流組件,並在數據拖動綠色箭頭流,你將有你的oleDBSource和你的平面文件目標
請提供一些細節是什麼你正在談論的某種更新陳述。什麼不工作? – 2012-04-14 17:43:40
對不起,我不清楚。我希望選擇/文件操作和更新操作成爲一個原子事務的一部分。所以,如果更新失敗,則不會創建文件,反之亦然。我假設一個人不能這樣做 – 2012-04-20 20:02:06