Пакет служб SSIS. Как вставить / обновить данные в таблице сервера Sql, вызвав веб-службу в пакете ssis? - PullRequest
0 голосов
/ 17 января 2012

Есть ли способ вызвать веб-службу в пакете ssis, чтобы вставить некоторые данные в таблицу в SQL Server? Как? любой образец или руководство, пожалуйста?

1 Ответ

0 голосов
/ 17 января 2012

Полагаю, по вашему вопросу вы имеете в виду использование веб-службы в качестве места назначения для потока данных? Я унаследовал серию пакетов, которые интегрируются с нашим сайтом MS CRM. Как и задумано, эти пакеты ужасно подходят для парадигмы SSIS, но это мое бремя ...

Эти пакеты обычно соответствуют форме источника (OLE DB или плоский файл), переданного в задачу сценария (назначение). Я не знаю, что предоставление всего кода конкретной задачи было бы поучительно. Он просто вызывает веб-сервис для каждой строки, отправленной в него. RBAR - это не то, для чего созданы SSIS или заданные языки, но вы, безусловно, можете это сделать.

  • Преобразование сценария будет иметь веб-ссылку (наша называется CrmSdk) на службу.
  • Объявите экземпляр службы как член ScriptMain.
  • Создайте эту службу в своем скрипте, передавая учетные данные по мере необходимости. Скорее всего в вашем PreExecute методе
  • Выполните вызовы веб-службы в вашем методе Input0_ProcessInputRow, используя нотацию Row.Column1. Помните о пустых значениях и о том, как их обрабатывает веб-служба. Наш код использует service.CompanyName = Row.CompanyName_IsNull ? string.Empty : Row.CompanyName;

Если вы намерены использовать веб-сервис на уровне потока управления, имейте в виду, что задание по умолчанию имеет жестко заданный 5-минутный тайм-аут. Не уверен, что это все еще так, но в пакете 2005 года, с которым я имел дело, нам пришлось использовать прямую задачу сценариев для связи с нашим веб-сервисом (он очищал миллионы строк адресных данных в пакетном режиме), чтобы обойти проблему тайм-аута , Ссылка на свойство тайм-аута

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...