我要檢查,看是否有文件從SSIS一個特定的文件夾存在。我怎樣才能做到這一點?SSIS腳本任務,如果在文件夾中存在或不
回答
有內部SSIS沒有原生的任務,可以做這種檢查,但你可以使用這個腳本任務完成,但我建議你檢查,以達到所需的簡單步驟如下鏈接。
http://www.bidn.com/blogs/DevinKnight/ssis/76/does-file-exist-check-in-ssis
變量:
文件夾 - 字符串 - Visual C :: \ TEMP \
文件 - 字符串 - 1.txt的
FILEEXISTS - 布爾 - 假
public void Main()
{
string folder = Dts.Variables["User::folder"].Value.ToString(); //@"C:\temp\";
string file = Dts.Variables["User::file"].Value.ToString(); //"a.txt";
string fullPath = string.Format(@"{0}\{1}", folder, file);
Dts.Variables["User::fileExists"].Value = File.Exists(fullPath);
Dts.TaskResult = (int)ScriptResults.Success;
}
我嘗試了上面的答案,但在我們的環境中運行ssis時出現了錯誤。目標調用引發了異常。 – user2756589
請確保將這些變量傳遞給腳本;文件夾和文件爲ReadOnly,fileExists爲ReadWrite –
作爲替代具有「走出去」的變量,你也可以更改Dts.TaskResult
基於文件是否存在。如果文件不存在,下面的代碼片段將使腳本任務失敗。 (它還創建一個日誌條目,如果啓用了日誌記錄。)
public void Main()
{
string fileName = Dts.Variables["User::sourcePath"].Value.ToString() + Dts.Variables["User::fileName"].Value.ToString();
if (File.Exists(fileName))
{
Dts.TaskResult = (int)ScriptResults.Success;
}
else
{
Dts.Log(string.Format("File {0} was not found.",fileName),0,null);
Dts.TaskResult = (int)ScriptResults.Failure;
}
}
您可以使用Foreach Loop Container
,只是所有的物品放到它。它將在文件存在時執行,如果不存在則執行。非常簡單:)
非常好!我正在尋找一些簡單易用的工具,並且工作正常。 – Vladimir
- 1. ssis腳本任務在Sharepoint文檔庫中創建文件夾
- 2. 在ssis中使用c#在腳本任務中存檔文件
- 3. 當文件不存在時SSIS腳本任務不分支
- 4. 使用SSIS腳本枚舉文件夾中的文件任務
- 5. SSIS腳本任務結果
- 6. 如何使用密碼在SSIS腳本任務中解壓縮文件夾
- 7. SSIS文件存在檢查沒有腳本任務
- 8. SSIS腳本任務不DTS.TaskResult
- 9. SSIS腳本任務
- 10. 在SSIS腳本組件任務中讀取CSV文件
- 11. SSIS:如何瀏覽腳本組件或任務中的代碼?
- 12. SSIS腳本任務從郵箱子文件夾中提取文件
- 13. SSIS在腳本任務中讀取平面文件連接
- 14. 如何從腳本任務打開存儲在SSIS包的Miscellaneous文件夾下的文件?
- 15. 刪除行開始在CSV文件在SSIS Controlflow腳本任務
- 16. SSIS - 存檔文件任務
- 17. SSIS-SMTP或腳本任務配置文件
- 18. SSIS腳本任務搜索文本(如果可用的複製文件)
- 19. 使用SSIS執行腳本任務在WinSCP腳本中解壓縮文件
- 20. 返回輸出Paramters或變量在SSIS腳本任務/腳本組件
- 21. 部署之後SQL Server不允許在SSIS腳本中創建文件夾/文件任務
- 22. 將Input0Buffer寫入文本文件的SSIS腳本任務組件
- 23. SSIS的腳本任務
- 24. SSIS腳本任務錯誤
- 25. SSIS腳本任務問題
- 26. SSIS腳本任務獲取文件名並存儲到SSIS對象變量
- 27. 使用腳本任務在SSIS 2005中寫入文件不起作用
- 28. 在蘋果腳本中設置文件夾和子文件夾
- 29. PowerShell腳本發現如果一個文件夾存在
- 30. SSIS:如何在腳本任務中使用數據流任務中的數據?
你可以用它作爲你的出發點。 http://stackoverflow.com/questions/7385251/how-to-check-if-a-file-exists-in-a-folder –
我使用下面的代碼 Dts.Variables( 「FILEEXISTS」)。價值= File.Exists(Dts.Variables(「FileLocation」)。值) 其中FILEEXISTS是布爾變量,「FileLocation」與文件路徑 字符串變量雖然文件存在於文件夾中,它仍然是給假值。 – user1429135
只是好奇,如果下面給出的解決方案對你有用,如果你能解決你的問題。您的反饋意見對我以及將來遇到類似問題的訪問者都會有所幫助。謝謝。 –