2013-05-08 100 views
0

我需要每小時將平面文件導入到數據庫表中,但文件本身由應用程序不斷更新(文件不鎖定,因此沒有問題)。我需要的是確保我只導入最近一小時的最新數據。SSIS平面文件導入 - 滾動數據

因此,我需要確保表中沒有重複的數據,並且只能爲該小時帶來數據。希望這是有道理的!哦,可悲的是沒有辦法改變日誌文件創建一個小時!

謝謝

+0

您是否有平面文件中的任何日期列,指定何時更新? – praveen 2013-05-08 08:10:18

+0

是的,有記錄新記錄時的日期時間。你認爲我可以從表中做最大日期,只更新記錄更大的地方? – GPH 2013-05-08 08:13:33

+0

在SSIS中以'LastRunDate'創建一個變量。在平面文件源使用溢出轉換並檢查'FlatFlitDate> = LastRunDate'。如果在目標中也有'日期時間'列,則從此處填入LastRunDate的值列。 – praveen 2013-05-08 08:17:40

回答

0

您可以嘗試最大日期。

或者像這樣的東西。

刪除在第一步的最新數據:

DELETE FROM [DATABASE].[dbo].[TABLE] 
WHERE [DATE] > DATEADD(hour, -1, GETDATE()) 

然後

更新:

SELECT * FROM [DATABASE].[dbo].[TABLE] 
WHERE [DATE] > DATEADD(hour, -1, GETDATE()) 

所以你刪除的最新數據,然後一切從那裏加載再次。

HTH