2015-01-28 3 views
0

Я делаю пакет SSIS, который будет считывать данные из таблицы SQL и создаст файл Excel для каждого города страны, в этом файле будет храниться вся информация этого города. Мой вопрос заключается в том, как вы создаете около 175 файлов Excel, я знаю, как создать 2 или 3 с условным разделением? но 175SSIS-пакет, который создаст автоматический файл Excel для каждого города?

+0

Я хотел бы использовать задачу сценария – Darka

ответ

0

краткое резюме

вы будете готовить запрос для получения набора данных с CityId, CITYNAME, перебирать этот набор данных, для каждого набора данных вы получите данные по CityId, и превратить этот результирующий в dynamicaly имени файла XLS.

детальных рабочего

1) подготовить пустой файл макет XLS, который будет использоваться для подготовки остальных файлов (вы настроите строки заголовка, например)

2) подготовить пакет переменные:

а) города - объект

б) CITY_ID - Int

с) city_ Имя - VARCHAR (х)

d) xls_layout_path - путь к пустой файл XLS - установка соответственно, где вы подготовили файл на SQL сервере файловой системы

е) xls_current_path - путь к месту назначения файла XLS - с помощью выражения, вы настраиваете динамический путь к этому файлу, в соответствии с которым city_id и/или имя города могут использоваться как часть имени файла

3) Задача запроса sql - вы запрашиваете все города, например городID, городName. Вы настройка задач SQL-запрос, чтобы вернуть набор данных, и этот набор данных объекта переменной увидеть это для более подробной информации: https://www.simple-talk.com/sql/ssis/ssis-basics-using-the-execute-sql-task-to-generate-result-sets/

4), то вы итерацию города переменных с помощью Foreach петли контейнера, в котором вы храните CityId и CITYNAME в соответствующих переменных пакета

http://social.technet.microsoft.com/wiki/contents/articles/5232.ssis-looping-over-object-variables-with-as-ado-enumeration-in-foreach-loop-container.aspx

5) внутри контейнера петли вы prapare следующее:

5а) подготовить пустой файл с помощью Задача файловой системы - вы скопируете файл xls_layout_file, чтобы динамически установить xls_current_file (например. вы подготовите файл назначения с именем города) - см Выражение в строке подключения установки (путь)

5b) внутри Dataflow задачи

  • как ваши исходные данные запроса для текущего города с помощью CityId и параметризированный запрос

  • использование трансформации при необходимости (например, преобразование кодовой страницы excel - это процесс - это относится к коллатону вашей базы данных - мы используем локальную сортировку - например,Sloval_CI_AS)

  • набор XLS-файл в качестве пункта назначения с строки подключения dynamicaly установлен в xls_current_path (с помощью выражений)

+0

Иван, у меня все готово поле в запросе SQL таблицы город, поэтому SSIS будет считать запись, если она равна городу Майами, например, информация о этой записи будет отправлена ​​в книгу Excel Майами, ... еще один пример в таблице SQL: запись может содержать следующее информационное имя -> Ivam, Lastname-> Kristof, Address-> N street, City-> Miami, вы понимаете, что я имею в виду? – Luis64

+0

Luis, PLS, может быть, это помогает, когда вы описываете свои текущие таблицы, в запросах CREATE TABLE, чтобы помочь мне понять вашу структуру БД. – ivankristof

+0

В принципе нет проблем с подготовкой параметризованного запроса, когда вы используете имя города (а не «идентификатор города») в качестве параметра для получения набора результатов для этого города, который будет преобразован в целевой файл xls. – ivankristof

Смежные вопросы