Время прочтения: 6 мин.
Итак, нам потребуется среда разработки Microsoft Visual Studio, а также SQL Server Data Tools (SSDT) – средство разработки, позволяющее работать с реляционными базами данных SQL Server и создавать пакеты Integration Services.
Начиная с Visual Studio 2017 функции создания проектов БД входят в пакет установки Visual Studio, но для работы с Integration Services потребуется скачать автономный установщик SSDT.
Рассмотрим, как создать несложный SSIS пакет для автоматизации получения и обработки данных списка SharePoint.
1. Создадим новый проект:
Файл – Создать – Проект — Integration Services Project.
Вносим название нашего проекта и место сохранения (по умолчанию – каталог source/repos/ в профиле пользователя).
2. Создадим подключение к источнику данных (самый простой вариант – использовать канал OData):
В области «Диспетчеры подключений» кликаем правой кнопкой мыши и выбираем «Создать подключение…».
Далее выбираем диспетчер соединений OData и нажимаем «Добавить»
В следующем окне укажем параметры соединения: имя (по умолчанию «Источник OData»), в поле «Расположение сервисного документа» указываем путь //<ваш сайт>/_vti_bin/listdata.svc, где /_vti_bin/listdata.svc – стандартная конечная точка для получения информации о всех списках сайта:
Если выбираем тип авторизации «Проверка подлинности Windows», подключение осуществляется под текущей учетной записью.
3. Создаем новую задачу потока данных: на панели элементов служб SSIS выбираем «Задачу потока данных» и перетаскиваем ее в рабочую область «Поток управления»:
Кликнув по созданной задаче, перемещаемся на вкладку «Поток данных», где нужно создать новый источник данных OData, перетащив его с панели элементов:
Далее настраиваем созданный источник данных:
- выбираем созданный на предыдущем шаге диспетчер соединений «Источник OData»;
- в поле «Использовать путь к коллекции или ресурсу» выбираем «Коллекция» (второй вариант – «Путь к ресурсу», но сейчас коллекция сайта удобнее);
- из выпадающего списка «Коллекция» выбираем интересующий нас список:
По нажатию на кнопку «Просмотр» можно увидеть первые 20 записей списка:
4. Если мы видим, что столбцов в списке много и нас интересуют не все из них, далее в редакторе источника данных в разделе «Столбцы» можно выбрать только необходимое и настроить соответствия столбцов на входе (из SharePoint) и выходе (для передачи на следующий этап):
Если нужно, можно аналогичным образом настроить обработку ошибок при импорте данных, и на этом настройку источника данных можно завершить и нажать «ОК».
5. Далее настраиваем место назначения, куда будем загружать полученные данные.
Т.к. мы собираемся подключаться к БД SQL, выбираем из панели элементов назначение «OLE DB» и указываем, что «выход» из нашего источника данных будем подавать на «вход» назначения «OLE DB»: соединяем их, перетаскивая синюю стрелку, указывающую направление потока данных:
Кликнув по только что созданному назначению, укажем точно, куда хотим сохранять данные.
В открывшемся окне редактора назначения OLE DB создадим новое подключение к данным: нажмем кнопку «Создать» рядом с полем «Диспетчер соединений OLE DB», далее введем имя целевого SQL сервера и базы данных на сервере:
Затем можно по кнопке «Проверить соединение» убедиться, что подключение к БД с вашими учетными данными прошло успешно:
и сохранить созданное подключение к БД SQL.
В поле «Режим доступа к данным» по умолчанию уже выбрано значение «Таблица или представление», и, если целевая таблица создана заранее, останется только выбрать ее из выпадающего списка:
Если же таблицы еще нет, нажимаем «Создать», открывается окно редактора SQL запроса для создания новой таблицы в базе (имя таблицы, форматы полей «по умолчанию» получены из источника данных, на данном этапе их можно скорректировать при необходимости).
Далее на вкладке «Сопоставления» редактора назначения (так же, как и для источника данных) можно настроить сопоставления входных и выходных столбцов:
6. Два элемента потока данных (источник и назначение) готовы!
Теперь можно попробовать запустить созданные задачи:
- переходим на вкладку «Поток управления»,
- выделяем задачу потока данных,
- нажимаем кнопку «Пуск»:
В успешном завершении загрузки данных можно убедиться по наличию зеленых «галочек» на блоках задачи потока данных и потока данных:
Все, можно выходить из режима отладки (по кнопке «Стоп») и сохранять проект.
Проверяем, что таблица в целевой БД создана и содержит переданные из SharePoint данные:
Созданный SSIS пакет (файл с расширением *.dtsx) можно найти в каталоге вашего проекта Visual Studio в профиле пользователя, для дальнейшей подготовки к публикации на SQL сервере и настройки запуска по расписанию.
Итак, мы рассмотрели простой пример работы с «конструктором» SSIS пакетов для чтения данных списка SharePoint, и сохранения полученных записей в БД SQL.
Более подробную справочную информацию о работе с Integration Services можно найти на сайте компании Microsoft в руководстве «Службы SSIS: создание пакета ETL».