Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 [SSIS] скопировать и переименовать файлы в папке  [new]
SirMix
Member

Откуда: Киев
Сообщений: 79
всем привет!
есть следующий вопрос - можно ли в SSIS сделать так, чтобы скопировать файлы из одной папки в другую, переименовав его?
ну тобишь есть "Файл1", "Файл2", "Файл3" в папке "А". мне нужно скопировать их в папку "В", предварительно переименовав его по такому правилу: @NewName = @OldName + "YYYYMMDD" - вообще такое возможно?

скопировать всю папку целиком, скопировать все содержимое папки и т.п. проблем не вызывет - вопрос в том, что можно ли как-то в момент копирования файлов в цикле переименовывать их перед сохранением в дестинейшн? без участия ScriptTask.
если можно - полскажите плз как или дайте ссылку на пояснение.

тоесть тут даже вопрос - можно ли как-то в FileSystemTask выхватить в переменную имя обрабатываемого файла из папки или нет?

зарание спасибо всем откликнувшимся!
5 апр 12, 12:07    [12369625]     Ответить | Цитировать Сообщить модератору
 Re: [SSIS] скопировать и переименовать файлы в папке  [new]
FileSystemTask
Guest
SirMix,
Foreach Loop Container
Enumerator = Foreach File Enumerator
+
Script Task (для формирования нового имени)
+
FileSystemTask
Operation = Rename file
IsSourcePathVariable = true
IsDestinationPathVariable = true


?
5 апр 12, 12:32    [12369726]     Ответить | Цитировать Сообщить модератору
 Re: [SSIS] скопировать и переименовать файлы в папке  [new]
SirMix
Member

Откуда: Киев
Сообщений: 79
FileSystemTask
SirMix,
Foreach Loop Container
Enumerator = Foreach File Enumerator
+
Script Task (для формирования нового имени)
+
FileSystemTask
Operation = Rename file
IsSourcePathVariable = true
IsDestinationPathVariable = true


?


спасибо, но я писал "без использования Script Task" - можно ли?
5 апр 12, 12:35    [12369753]     Ответить | Цитировать Сообщить модератору
 Re: [SSIS] скопировать и переименовать файлы в папке  [new]
Script Task
Guest
SirMix
FileSystemTask
SirMix,
Foreach Loop Container
Enumerator = Foreach File Enumerator
+
Script Task (для формирования нового имени)
+
FileSystemTask
Operation = Rename file
IsSourcePathVariable = true
IsDestinationPathVariable = true


?


спасибо, но я писал "без использования Script Task" - можно ли?

там в Script Task-е одну строку написать, ты на форуме дольше спрашивать будешь
5 апр 12, 12:38    [12369775]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: [SSIS] скопировать и переименовать файлы в папке  [new]
mihami
Member

Откуда:
Сообщений: 79
Не подскажете можно ли для элемента "Foreach item enumerator" в перечислении использовать переменные? если да то в стандартном ли формате они прописываются "@[User::FileP]" ?
Почемуто не выходит в нем использовать переменные. Литералы воспринимает нормально.
7 июн 13, 16:59    [14407592]     Ответить | Цитировать Сообщить модератору
 Re: [SSIS] скопировать и переименовать файлы в папке  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33958
Блог
так хотели?

https://www.simple-talk.com/sql/ssis/ssis-basics-introducing-the-foreach-loop-container/
7 июн 13, 17:26    [14407776]     Ответить | Цитировать Сообщить модератору
 Re: [SSIS] скопировать и переименовать файлы в папке  [new]
mihami
Member

Откуда:
Сообщений: 79
Критик,

мой прокол, не объяснил - мне нужно файл шаблон размножить с разными названиями (через задачу Файл Сист - копирование), которые хранятся в переменных. Поэтому file enumerator тут не подходит.
7 июн 13, 17:31    [14407794]     Ответить | Цитировать Сообщить модератору
 Re: [SSIS] скопировать и переименовать файлы в папке  [new]
mihami
Member

Откуда:
Сообщений: 79
решил проблему с помощью For each variable enumerator, но ощущение, что полез в форточку вместо парадной двери. Хотя могу ошибаться.

Описание метода на http://www.rad.pasfu.com/index.php?/archives/18-Foreach-Loop-based-on-Variable-SSIS.html может кому пригодится.
10 июн 13, 10:25    [14413397]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить