Добавление столбца метки даты и времени в конечную таблицу назначения с использованием пакета служб SSIS - PullRequest
1 голос
/ 26 февраля 2020

У меня есть пакет служб SSIS, который импортирует файл CSV в базу данных, и этот пакет будет запускаться ежедневно в тот момент, когда он добавляет новые строки в конец таблицы, и в месте назначения нет столбца datetime Таблица.

Что я хочу сделать, это создать новый date / timestamp в таблице назначения и каждый раз, когда данные загружаются, я хочу, чтобы таблица отражала время загрузки из базы данных Timestamp.

Я не уверен, как я go о достижении этого.

Ответы [ 2 ]

4 голосов
/ 26 февраля 2020

Измените таблицу назначения, чтобы включить новый столбец, со значением по умолчанию выбранной вами функции даты и времени.

ALTER TABLE DataDest
ADD CreateDate DATETIME 
CONSTRAINT DF_DataDest_CreateDate DEFAULT (GETDATE());

Внутри вашего пакета вам, вероятно, потребуется открыть объект назначения в вашем поток данных, чтобы забрать новые метаданные для таблицы, и затем вам нужно будет щелкнуть на вкладке Mapping, потому что SSIS должен быть таким. Там должен появиться новый столбец, но вам не нужно ничего с ним делать, кроме как убедиться, что SSIS знает, что он там есть.

Во время операций вставки SSIS не будет загружать этот столбец, и Значение по умолчанию для текущей даты и времени будет заполнено для вас.

0 голосов
/ 26 февраля 2020

Если вы добавите штамп вставки в таблицу со значением по умолчанию getdate, база данных будет обрабатывать это для вас:

alter table destionationtable add [InsertStamp] [DATETIME]  NOT NULL CONSTRAINT [DF_Insert]  DEFAULT (GETDATE())
...