2017-04-05 96 views
2

我在SQL Server數據庫中有一些表,每個表中都有一列包含一個ID號。對於每個特定的ID號我們的系統應用程序在源文件系統中創建一個文件夾,文件夾名稱與ID號相同,文件夾包含許多子文件夾和不同名稱的文件。我必須從表格中選擇ID號碼,並且需要在源文件系統中搜索該ID號碼作爲文件夾名稱,如果任何ID號碼與文件夾名稱匹配,那麼我需要複製該文件夾及其所有包含的文件夾,並且需要如果目標文件夾不存在,則將其粘貼到目標文件系統。我可能需要你的幫助來使用ssis來做到這一點。如何在文件系統中搜索文件夾並使用ssis將其移至目標文件系統?

+0

你有什麼嘗試?它是否需要在SSIS中完成? –

+0

我認爲SSIS是最好的,我不知道有沒有最好的解決方案,請讓我知道如何解決這個問題。 – Sajal

+1

您可以在Powershell,VBScript,C#控制檯應用程序中執行此操作。您需要操縱數據庫和文件系統。 SSIS擅長數據庫,並且在文件系統上運行良好。 –

回答

1

的基本模式是:

  1. 使用一個Execute SQL Task,存儲所需的IDS中的對象變量。
  2. 使用Foreach Loop Container來處理存儲在您的對象變量中的每一行。
  3. 在循環中,使用Script TaskFile System Task爲當前行創建一個目錄。

腳本任務提供比文件系統任務更大的靈活性,但需要了解VB或C#。

如果您更熟於使用批處理/ PowerShell腳本,則可以使用Execute Process Task

+0

感謝您的幫助,在您提到的第3點,我不需要創建文件夾,文件夾已經在源文件系統中,我需要檢查文件夾名稱,如果文件夾名稱與ID編號匹配,那麼我需要複製其所有包含並將其粘貼到目標文件系統。請幫助並給我解決問題的基本模式。 – Sajal

+0

這些文件夾是否總是位於相同的地方。例如:對於ids'1001','1002'和'1003',文件夾將是:'C:\ MyFolder \ 1001','C:\ MyFolder \ 1002'和'C:\ MyFolder \ 1003'? –

+0

是的,這些文件夾總是位於相同的地方。你做了正確的例子。 – Sajal