2014-09-05 4 views
0

Я работаю с SQL Server/SSIS 2005, и я в тупике на что-то, что, я считаю, должно быть простой проблемой. Я пытаюсь понять, как вставлять данные в другую таблицу из инкрементного идентификатора, созданного в рамках проекта SSIS.SSIS - вставлять данные/идентификатор в другую таблицу при импорте

Чтобы уточнить, есть мой пример:

У меня есть таблица с именем пользователей со следующими значениями (укорочено для этой цели)

User ID Username 
======= ======== 
    1  jsmith 
    2  jjones 

Я еще одна таблицы называется НайтиСтраницу со следующими значениями

ID   Keyname   Keyvalue 
=======  ===========  ========= 
    1   Send a Report YES 
    2   Send a Report YES 

Теперь, когда я описал d в таблицах, я собираюсь использовать SSIS для вставки данных в таблицу users. Идентификатор пользователя - это поле идентификации в таблице пользователей. Идентификатор также является полем идентификации в таблице userspreferences. И каждый из них соответствует друг другу.

Что я хотел бы сделать, это вставить данные в таблицу userpreferences на основе того, какой идентификатор пользователя создается в таблице пользователей. Например, я вставляю запись через импорт в качестве идентификатора пользователя # 3. Затем я хочу вставить этот идентификатор в таблицу настроек пользователя и вставить ключ и ключевые значения. Чтобы уточнить, имя и ключевые значения не являются частью текстового файла. Я хочу вставить их в проект.

В настоящее время я могу достичь своей цели через некоторую «пост-обработку» через T-SQL. Но я стараюсь сделать это более эффективно в SSIS. Плюс это мне очень помогло, как я это делаю довольно часто.

Я попытался изучить это, и я подумал, что это может мне помочь: SSIS - Multiple table insert. Однако в решении отсутствуют снимки экрана. Может ли кто-нибудь помочь мне с этой задачей. Буду весьма признателен за это.

ответ

0

Вы можете включить идентификатор в таблице своих пользователей и вручную сгенерировать идентификаторы с помощью преобразования компонента сценария VB, чтобы они были доступны вам в потоке данных для загрузки в таблицу пользовательских настроек. Пост-обработка, вероятно, является вашим лучшим вариантом здесь - просто создайте задачу Execute SQL для запуска после завершения потока данных, и все это будет частью вашего пакета.

+0

Благодарим вас за ответ. Вы правы в том, что пост-обработка проще. У меня к тебе вопрос. Если я добавлю задачу выполнения SQL, как я могу получить все идентификаторы, которые я уже импортировал? Или вы говорите, что мне нужно будет рассчитать это до импорта и просто поместить его туда? – user1937434

+0

Я думал, что у вас есть какая-то логика, которая определяет, что нужно помещать в таблицу предпочтений на основе некоторых данных в записи пользователей, которую вы загружаете? Не можете ли вы просто сделать инструкцию SQL, чтобы сделать вставку на основе набора в эту таблицу после загрузки? –

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