2015-07-28 3 views
-1

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

enter image description here

+1

С преобразованием команды OLEDB. –

+2

Можете ли вы подробнее рассказать об этом? – user4725989

+0

https://www.google.com/search?sourceid=navclient&ie=UTF-8&rlz=1T4GGNI_enUS551US551&q=ssis+update+table+ole+db+command+example –

ответ

1

Скажем, у вас есть таблица тест с колоннами col_pk, col1, col2, col3, COL4 в таблице источника. col_pk является основным ключом, и у вас есть ошибки в col1 и col3.

Я предполагаю, что на «существующих строк таблицы, которая содержит эти ошибки неправильно размещенных полей» Вы хотите обновить ту же таблицу, которую вы используете в вашем OLE DB Источник

Теперь после Derived трансформации Column что вы исправили ошибки и у вас есть 2 новые колонки col1_new и col3_new

(вы также можете дать им такое же имя и заменить существующие столбцы, это будет заменить SSIS внутренней и ш on't эффект базы данных, пишу это, как я не ясно, вопрос, и вы можете смешивать в этом заменить)

Что вам нужно сделать сейчас:

  1. Создать OLE DB Целевая задача и выход линии преобразования Derived Column Transformation как ее вход
  2. В задаче создайте новую таблицу, например Test_new. Это даст вам возможность автоматического создания на основе ввода адреса OLE DB. (Вам просто нужно отобразить col_pk, col1_new и col3_new к месту назначения)
  3. В потоке управления, создать Execute SQL Task и там написать запрос для обновления тестовой таблицы, как:

    UPDATE Test

    SET col1 = Col1_new, Стлб2 = Col2_new

    от теста

    INNER JOIN Test_new

    ПО Test.col_pk = Test_new.col_pk

Вот и все!

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