2013-07-02 2 views
0

Я пытаюсь сделать это в SSIS (но это, кажется, не тривиальна) копировать данные из источника к месту назначения таким образом:Передача данных SQL с SSIS в VS2012

 copy->(select from source.TableA where source.CallID > (select max(destination.TableA.CallID) from destination.TableA) -> to destination 

Так я пытаюсь скопировать некоторые дельта-данных из источника на основе совокупности Max (CallID) от адресата.

ответ

1

В SSIS это обычно делается как два шага. Сначала создайте переменную с областью на уровне пакета. Используйте задачу Execute SQL для запуска запроса max (destination.TableA.CallID) и введите это значение в переменную.

Затем в потоке данных используйте запрос параметра и передайте переменную для параметра. выбрать из источника.TableA где источник.CallID>? (Источник OLE DB)

Для этого есть много примеров онлайн.

EDIT:
Ниже приведены инструкции по установке переменной:
http://dataqueen.unlimitedviz.com/2012/08/how-to-set-and-use-variables-in-ssis-execute-sql-task/

и инструкции по его использованию:
http://bisherryli.wordpress.com/2011/03/06/ssis-pass-a-variable-to-a-ole-db-source-in-a-data-flow/

+0

Я новичок в SSIS, как я ставлю что-то в переменная? Не могли бы вы назвать хотя бы один пример bc, которого я не смог найти? – dexter

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