2010-06-21 78 views
2

我試圖使用SSIS平面文件源來讀取正在積極寫入的日誌文件。因爲這是一個由服務持有的活動日誌文件,所以循環和等待文件被釋放是不實際的。ssis - 平面文件源 - 進程無法訪問該文件,因爲它正在被另一個進程使用

理想情況下,我正在尋找平面文件源的設置,類似於下面的C#代碼。如果不是這樣,我可以採用什麼路線來閱讀平面文件?我試圖留在SSIS內,因爲我真誠地不敢相信這不能用股票部分完成,並假設我只是錯過了一些東西。

使用C#,我可以成功打開確切的文件在其平面文件源錯誤

System.IO.FileStream file 
= new System.IO.FileStream 
    (
     file_to_hash.FullName 
     , System.IO.FileMode.Open 
     , System.IO.FileAccess.Read 
     , System.IO.FileShare.ReadWrite 
    ); 

這是SSIS遇到的錯誤消息:0x80070020在數據流任務,平面文件源[: 警告1]:進程無法訪問該文件,因爲它正在被另一個進程使用。 錯誤:數據流任務,平面文件源0xC020200E [1]:無法打開數據文件「XXX」。

+1

您是否可以使用文件系統任務先製作文件的副本,然後將副本用作平面文件源?我認爲它不應該複製正在使用的文件,但我沒有爲自己嘗試。 – 2010-06-21 21:18:14

回答

1

蒂姆和凱德的想法都能奏效。我選擇了Tim的方法 - 複製文件b/c我已經擁有代碼(包括副本和數據轉換),並且更改進入數據轉換的文件的名稱/路徑是正在構建的應用程序的配置設置。希望我可以將其標記爲答案,但將問題作爲未註冊的用戶提出。

相關問題