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

Откуда:
Сообщений: 8
Здравствуйте. У меня такая задача. Существует файл с такими данными:
D:\FTP\docs\1_4\Photo20111004160857022.jpg D:\ForDP\10012.jpg
D:\FTP\docs\1_9\imm_2011_10_07_12_29_28_271.JPG D:\ForDP\76943.JPG
D:\FTP\docs\1_11\imm_2011_10_07_19_48_46_22.JPG D:\ForDP\48509.JPG
Мне надо файл из колонки 1 скопировать в папку из колонки 2 и имя файла должно измениться, стать таким же как в колонке 2. Я создала соединение с неструктурированными файлами: разделитель столбцов - табуляция, столбцы назвала file1, file2. В каком направлении двигаться дальше не знаю? Подскажите?
2 дек 15, 13:39    [18502694]     Ответить | Цитировать Сообщить модератору
 Re: SSIS файловая система  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8839
ОкСаНаПРО05,

задача потока данных (запрос) - контейнер цикла по элементам - в контейнере задача файловой системы, имена файлов можно попробовать загружать через переменные.
2 дек 15, 15:34    [18503632]     Ответить | Цитировать Сообщить модератору
 Re: SSIS файловая система  [new]
ОкСаНаПРО05
Member

Откуда:
Сообщений: 8
Нашла похожую задачу на форуме, спросила там, но вопросу больше года, не знаю ответят ли там)https://www.sql.ru/forum/933684/pomogite-s-paketom-ssis-element-cikl-po
Не подскажите что за компонент SQL таск? как его создать?
2 дек 15, 18:01    [18504453]     Ответить | Цитировать Сообщить модератору
 Re: SSIS файловая система  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8839
ОкСаНаПРО05
Нашла похожую задачу на форуме, спросила там, но вопросу больше года, не знаю ответят ли там)https://www.sql.ru/forum/933684/pomogite-s-paketom-ssis-element-cikl-po
Не подскажите что за компонент SQL таск? как его создать?


Он в задаче потока данных, если правильно помню.
2 дек 15, 18:03    [18504466]     Ответить | Цитировать Сообщить модератору
 Re: SSIS файловая система  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4902
Владислав Колосов
ОкСаНаПРО05,

задача потока данных (запрос) - контейнер цикла по элементам - в контейнере задача файловой системы, имена файлов можно попробовать загружать через переменные.


это и есть правильная последовательность действий

1) Инпортируете файл в dataset
http://blog.sqlauthority.com/2011/05/12/sql-server-import-csv-file-into-database-table-using-ssis/

2) Идете по dataset в цикле
http://blog.extreme-advice.com/2013/01/04/looping-through-dataset-in-ssis/

3) Копируете файлы
http://www.exacthelp.com/2012/02/copy-file-in-file-system-in-ssis-by.html
2 дек 15, 20:27    [18504984]     Ответить | Цитировать Сообщить модератору
 Re: SSIS файловая система  [new]
ОкСаНаПРО05
Member

Откуда:
Сообщений: 8
Спасибо, вы мне очень помогли). Но еще вопрос. Из файла перекинула в таблицу SSIS_import, далее в переменную ResultSet типа object запоминаю результат задачи "Выполнение SQL", в которой такой запрос select file1, file2 from SSIS_import. Далее в цикле указываю: Перечислитель ADO Foreach и переменная источника объекта ADO- ResultSet, делаю сопоставление переменных: переменная pnf1=индекс 0, переменная pnf2 = индекс 1. Далее в задаче "Файловая система" в операции выбираю: копировать файл, в соединении с источником указываю переменную pnf1, в соединении с назначением указываю пока переменную в которой сама указываю путь. Запускаю на выполнение и выдает такую ошибку:
Переменная "pnf1" используется как исходная или целевая и является пустой.
Не подскажите в что неправильно делаю?
3 дек 15, 15:42    [18509080]     Ответить | Цитировать Сообщить модератору
 Re: SSIS файловая система  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8839
ОкСаНаПРО05,

по какой-то причине значение переменной пустое. Или пустое присвоение или не вычисляется.
3 дек 15, 16:14    [18509322]     Ответить | Цитировать Сообщить модератору
 Re: SSIS файловая система  [new]
ОкСаНаПРО05
Member

Откуда:
Сообщений: 8
Подскажите как можно просмотреть чему равно значение переменной?Прочитала что можно сделать при помощи функции MsgBox в Script Task. Создала Script Task, в ReadOnlyVariables выбрала User::pnf1, изменяю сценарий в Main пишу MsgBox("pnf1=" & pnf1)-это не правильно, он просит объявить переменную pnf1, а она уже есть и я хочу вывести ее результат. Как правильно передать в msgbox эту переменную?
3 дек 15, 17:15    [18509762]     Ответить | Цитировать Сообщить модератору
 Re: SSIS файловая система  [new]
ГуЗы
Guest
ОкСаНаПРО05,
В примерах скриптбокса есть правильный вид ссылки на значение переменных/параметров паркета
3 дек 15, 17:36    [18509908]     Ответить | Цитировать Сообщить модератору
 Re: SSIS файловая система  [new]
ОкСаНаПРО05
Member

Откуда:
Сообщений: 8
Не могу разобраться в чем проблема...Я вывела в сообщении значение переменной в этом же цикле и она не пустая, но когда передаю эту переменную в задачу "Файловая система", то ошибка что эта переменная пустая. Подскажите пожалуйста)
4 дек 15, 10:54    [18512423]     Ответить | Цитировать Сообщить модератору
 Re: SSIS файловая система  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8839
ОкСаНаПРО05,

с Ваших слов не понятно, что у Вас в проекте.
4 дек 15, 11:24    [18512647]     Ответить | Цитировать Сообщить модератору
 Re: SSIS файловая система  [new]
ОкСаНаПРО05
Member

Откуда:
Сообщений: 8
Все получилось.Спасибо. Надо было в переменную указать хоть какое нибудь начальное значение.
4 дек 15, 12:00    [18512939]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить