2009-12-16 3 views
1

У меня есть пакет SSIS 2005, который необходимо прочитать из XML-файла, проанализировать его в столбцы и загрузить в таблицу SQL. У меня синтаксический анализ работает нормально. Моя проблема в том, что я не буду знать имя таблицы до времени выполнения. Таблицы называются transaction_x, где x удерживается в переменной уровня пакета. Можно ли каким-либо образом программно определить имя таблицы назначения?Программно заданная таблица назначения SQL

Thanks

Rob.

+0

Я не знаю SSIS, но если он использовал SQL Server, вы можете использовать хранимую процедуру, в которой вы можете определить переменную для хранения имени вашей таблицы, а затем изменить ее так, как вам нужно. –

ответ

3

Как упоминалось в AjAdams, вы хотели бы сохранить имя таблицы в переменной. Когда вы открываете gui адресата ole db, вы можете нажать на раскрывающийся список доступа к данным и выбрать «Имя таблицы или просмотреть переменную имени». Затем вы выберете имя переменной, содержащее имя таблицы, из раскрывающегося списка. Это должно решить вашу проблему.

+0

Отлично, спасибо. Кажется странным, что эта возможность недоступна для целевого инструмента SQL Server - неважно, я буду использовать OLEDB. –

1

Вы пытались использовать компонент SQL Command? Мне никогда не приходилось это делать, но я думаю (теоретически) вы можете сохранить это имя в переменной, а затем создать таблицу, используя переменную в свободном компоненте T-SQL. Стоит попробовать, я бы сказал!

0

В дополнение к ответу rfonn вы можете перебирать имена своих таблиц, отбрасывая контейнер Foreach и устанавливая его в Enumerator Forehead NodeList.

Это, конечно, если ваши имена хранятся в XML так, чтобы вы могли перебирать этот путь.

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

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