Использование хранимой процедуры в качестве источника OLE DB в BIDS - PullRequest
5 голосов
/ 08 декабря 2010

Я тестирую пакеты и хранимые процедуры служб SSIS, поскольку я только начинающий.Мне нужно использовать хранимую процедуру, которую я установил в исходной базе данных, чтобы вернуть набор данных, а затем мне нужен пакет ssis, чтобы использовать набор данных, возвращаемый хранимой процедурой, в качестве источника OLE DB для заполнения второй таблицы назначения.

В основном у меня есть 2 таблицы: - test_source - test_destination

test_source содержит одну таблицу с названием «Компании с 3 строками» - (ID, имя, установлено).Я настроил хранимую процедуру (spGetCompanies) для возврата всех записей в этой таблице в набор результатов.

Затем в BIDS у меня есть пакет служб SSIS, который берет данные из таблицы test_source (в данном случае spGetCompaniesSP) и вставляет его в таблицу test_destination.

Может ли кто-нибудь помочь, рассказав мне, как я могу использовать хранимую процедуру spGetCompanies в качестве источника OLE DB?

Cian

Ответы [ 3 ]

6 голосов
/ 08 декабря 2010

Если вы установили соединение данных, выполните следующие действия:

  1. Дважды щелкните по источнику OLEB
  2. Выберите пункт диспетчера соединений
  3. Выберите режим доступа к данным как «команда SQL»
  4. Введите команду SQL для выполнения SP (например, exec usp_myproc 1234).
  5. Нажмите «Предварительный просмотр». Ваш набор данных должен быть возвращен.
  6. Нажмите «ОК»

Выполнено

3 голосов
/ 10 октября 2012

Вы можете попробовать set FMTONLY off; до exec sp.Работал на меня:)

2 голосов
/ 05 апреля 2012

Не всегда возможно использовать сохраненный процесс в источнике данных OLEDB, как объясняет здесь Джейми Томсон: https://web.archive.org/web/20141215063233/http://consultingblogs.emc.com/jamiethomson/archive/2005/12/09/2480.aspx

По сути, поскольку у sprocs нет связанных метаданных, SSIS пытается угадать метаданные поглядя в sproc и захватывая первое предложение выбора.Это может быть неточным или невозможным (например, в случае процедуры SQL-CLR).

Ответ должен гласить: если вы счастливчик , после нажатия кнопки «Просмотр» вы можете нажать «ОК»..

...