SQL, Автоматизация

Получение данных SharePoint с использованием SQL Server Integration Services

Время прочтения: 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».

Советуем почитать