Использование служб SSIS для сопоставления жестко закодированных значений как часть миграции таблицы «один ко многим» в Visual Studio - PullRequest
5 голосов
/ 05 мая 2009

Используя SQL Server 2005 и Visual Studio 2005, я пытаюсь создать пакет служб SSIS для объединения данных из одной таблицы в несколько других таблиц.

В исходной таблице нет нескольких полей, которые есть в таблицах назначения. Например, поля «CreatedBy» и «CreatedDate». Я хотел бы, чтобы они были жестко закодированы (в некотором смысле) как часть процесса импорта пакета.

Проблема в том, что вы не знаете, что использовать для облегчения этого отображения. В качестве отправной точки было бы приемлемо иметь жестко закодированные '1' и GetDate () для createBy и madeDate соответственно.

Вкладка «Свойства ввода и вывода» или «Сопоставление столбцов» в диалоговом окне параметров «Расширенный редактор для места назначения» не имеет видимой поддержки сопоставления значений «по умолчанию», таких как GetDate ().

Есть предложения, как этого добиться?

Ответы [ 2 ]

8 голосов
/ 05 мая 2009

Способ SSIS для создания новых столбцов (со статическими значениями или нет) заключается в использовании преобразования «Производный столбец» в потоке данных между источником и назначением.

Это позволяет указать дополнительные столбцы и их значения с помощью выражения. Для текущей даты / времени используйте Getdate() в качестве выражения и установите для типа данных значение «date (DT_DATE)». Чтобы жестко закодировать значение, заключите его в кавычки в выражении (например, «1») и укажите соответствующий тип данных.

3 голосов
/ 05 мая 2009

Вместо того, чтобы использовать таблицу в качестве источника, как насчет указания запроса конкретно? Таким образом, вы можете статически определять значения как часть источника.

, например

SELECT id, fieldOne, fieldTwo, '1' AS createdBy, GetDate() AS createdDate
FROM SourceTable

Я сделал именно это недавно.

Важно помнить, что вам нужно убедиться, что ваши типы данных совпадают. У меня было несколько проблем с не совпадающими строковыми типами данных (UTF-8 и т. П.).

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