Динамическое перемещение файлов с помощью SSIS в разные каталоги на основе имен файлов Excel

Как переместить несколько файлов Excel в разные папки на основе имени файла в SSIS? означает, что в зависимости от имени файла он будет перемещен в соответствующую папку.


person Ajit Kumar    schedule 28.06.2017    source источник
comment
Что вы сделали до сих пор?   -  person Nick.McDermaid    schedule 29.06.2017
comment
я добавил контейнер цикла foreach с задачей сценария, и я застрял только в задаче сценария. @Ник.МакДермейд   -  person Ajit Kumar    schedule 29.06.2017
comment
Задача сценария не обязательна, но если вам нравится C#, это может быть лучшим вариантом. В качестве альтернативы я предлагаю вам прочитать этот sqlyoga. com/2014/09/sql-server-ssis-rename-and-move-files.html и вернуться с конкретными вопросами   -  person Nick.McDermaid    schedule 29.06.2017
comment
без задачи сценария мы можем сделать это с любой другой задачей? пожалуйста, предложите мне.   -  person Ajit Kumar    schedule 29.06.2017
comment
Вы похоже не читали мою ссылку   -  person Nick.McDermaid    schedule 29.06.2017
comment
Он перемещается только в одну архивную папку, но я хочу, чтобы на основе имени файла он перемещался в соответствующую папку.   -  person Ajit Kumar    schedule 29.06.2017
comment
Кажется, вам нужно изменить выражение, чтобы сделать это за вас. Вы на самом деле не объяснили правило, которое хотите использовать. Пожалуйста, отредактируйте свой вопрос и объясните, что вы пробовали, объясните правило, которое вы хотите использовать, и покажите несколько примеров.   -  person Nick.McDermaid    schedule 29.06.2017


Ответы (2)


Вы пробовали это?

Здесь вы можете видеть, что вам нужно создать цикл foreach, задачу сценария и задачу файловой системы, чтобы переместить файлы в папку назначения.

как перемещать файлы в разные папки на основе совпадения имени файла и папки в ssis

person Luciana Rodrigues    schedule 28.06.2017
comment
это не работает, работает успешно, но файлы не перемещаются. - person Ajit Kumar; 29.06.2017

Использование контейнера цикла Foreach

  1. Вы должны добавить контейнер цикла for-each для циклического перебора файлов в определенном каталоге.

  2. Выберите следующее выражение в качестве имени файла:

    *takeme*

  3. Сопоставьте имя файла с переменной

  4. Добавьте задачу потока данных внутри цикла for each для передачи файлов.
  5. использовать переменную имени файла в качестве источника

вы можете следить за подробной статьей по адресу:

если вы хотите добавить несколько фильтров, следуйте моему ответу по адресу:

Использование задачи сценария

или вы можете добиться этого, используя задачу сценария с аналогичным кодом: (я использовал VB.Net)

Public Sub Main()

    For Each strFile As String In IO.Directory.GetFiles("C:\New Folder\", "*takeme*", IO.SearchOption.AllDirectories)

        Dim filename As String = IO.Path.GetFileName(strFile)

        IO.File.Copy(strFile, "D:\New Folder\" & filename)

    Next

    Dts.TaskResult = ScriptResults.Success
End Sub
person Hadi    schedule 29.06.2017