none
SSIS сделать Update Destination ADO.NET RRS feed

  • Вопрос

  • Здравствуйте.

    Есть вот такая конструкция:

    Из источника я получаю данные и маркирую их ("I" - Insert и "U" - Update), после чего делаю условное разделение на Insert и Update. С Insert проблем вроде не возникло, но вот Update никак не могу сделать, т.к. в Destination ADO.NET нет возможности вставить команду.  Еще я выгружал данные в отдельный набор записей (табличную переменную), но и в том случае возникает данная проблема. Подскажите пожалуйста можо ли мне решить данную проблему? 

    И еще, если можно попутный вопрос:

    Есть ли в SSIS конструкция, напоминающая  IF/ELSE без использования компонента скриптов?

    Спасибо!



    • Изменено Alexey110 10 июня 2015 г. 13:07
    10 июня 2015 г. 11:24

Ответы

  • *Еще я выгружал данные в отдельный набор записей (табличную переменную), но и в том случае возникает данная проблема.

    В этом случае не возникает проблем.
    Делаете цикл по каждой строке, в нём добавляете своё условие Inset\Update, после чего вставляете SQL Statement в котором можно написать: update table set ... where ...

    Если Вы хотите апдейтить в  DataFlowTask, то соединение назначения нужно сделать OleDB и использовать компонент: команда OleDb для апдейта.

    Подробнее тут:

    https://msdn.microsoft.com/en-us/library/bb895286.aspx


    • Изменено xjomanx 15 июня 2015 г. 9:51
    • Помечено в качестве ответа Alexey110 15 июня 2015 г. 14:15
    15 июня 2015 г. 7:57