Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 использование имя таблицы передаваемого из параметра в data flow task  [new]
startDBA
Member

Откуда:
Сообщений: 174
день добрый всем!

вопрос такий:
я использую data flow task в SSIS пакет в катором с помошью LOOP я передаю имя таблицы через параметр.
в sourse и destination если я использую опцию в data access mode - Table name or view name variable с variable name
то на первой таблице все проходит нормально ...на вторй падает, как я понимаю SSIS не в состоянии обновлять именна столбцов динамически с использованием имени таблицы каторый приходит через параметр...

правильно ли я думаю?:)....если нет то как правельно сделать.....

думал передавать в DFT комманду select катоарая будет каждый раз создаватся в LOOP и использовать опцию "SQL command"
правильно ли это...и какую надо соцадавть комманду для ole db destination connection???....
3 июл 11, 18:15    [10914093]     Ответить | Цитировать Сообщить модератору
 Re: использование имя таблицы передаваемого из параметра в data flow task  [new]
startDBA
Member

Откуда:
Сообщений: 174
что надо писать в ole db destination sql command что бы внести данные каторые приходят с ole db sourse...

insert into .... что????.....недоганяю:)
3 июл 11, 18:58    [10914176]     Ответить | Цитировать Сообщить модератору
 Re: использование имя таблицы передаваемого из параметра в data flow task  [new]
startDBA
Member

Откуда:
Сообщений: 174
startDBA,

друзья ну хоть какая нибуть идея есть?....
4 июл 11, 14:16    [10918442]     Ответить | Цитировать Сообщить модератору
 Re: использование имя таблицы передаваемого из параметра в data flow task  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2392
Блог
startDBA,

Давно это было... Когда-то я работал с DTS и опции вижу такие:

1) В первом таске создаю на каждыую таблицу свой таск в DTS и потом их оттуда запускаю
2) Делаю динамический SQL в таске
3) Делаю динамический SQL в хранимой

По мне так оба хуже. :)
4 июл 11, 14:33    [10918542]     Ответить | Цитировать Сообщить модератору
 Re: использование имя таблицы передаваемого из параметра в data flow task  [new]
startDBA
Member

Откуда:
Сообщений: 174
Павел Воронцов,

обьяснюсь еше раз:)
во первых я изпользую SSIS 2005
сама процедура такая:
имеится таблица конфигурации в каторий есть список таблиц каторым надо сделать копию с сервера а на Б с помошью SSIS

в SSIS с помошью таска вытаскиваю имена таблиц в record set, в Foreach Loop Container передаю каждый раз очередную таблицу в цыкл через Variable, в Foreach Loop Container в Execute SQL Task делаю манипуляции над таблицой а потом в Data Flow Task делается копия данных с таблицы на сервере А в сервер Б....
в OLE DB Source использую "table name or view name variable" user::v_TableName каторый содержит имя таблецы....
с первой таблицой все проходит нормально....а вот на второй падает ибо columns mapping он не синхронизирует, тоесть именна столбцов остаются от первой таблицы.
кстате имя первой таблицы начальное значение v_TableName, иначе неполучается нормально создать data flow task....

вопрос как зделать так что бы source i destination синхронизировали столбцы по имени таблицы полученной из user::v_TableName
4 июл 11, 15:03    [10918805]     Ответить | Цитировать Сообщить модератору
 Re: использование имя таблицы передаваемого из параметра в data flow task  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2392
Блог
startDBA
обьяснюсь еше раз:)
во первых я изпользую SSIS 2005
Хорошо. А что это меняет? SSIS - потомок DTS, подходы те же.
startDBA
сама процедура такая:
имеится таблица конфигурации в каторий есть список таблиц каторым надо сделать копию с сервера а на Б с помошью SSIS

в SSIS с помошью таска вытаскиваю имена таблиц в record set, в Foreach Loop Container передаю каждый раз очередную таблицу в цыкл через Variable, в Foreach Loop Container в Execute SQL Task делаю манипуляции над таблицой а потом в Data Flow Task делается копия данных с таблицы на сервере А в сервер Б....
Вот тут просто создавайте Data Flow Task с нужными настройками. Не передавайте в уже готовый, а создавайте для каждой таблицы. А потом запускайте эти таски последовательно или параллельно, как угодно. Понятно, нет?
startDBA
в OLE DB Source использую "table name or view name variable" user::v_TableName каторый содержит имя таблецы....
с первой таблицой все проходит нормально....а вот на второй падает ибо columns mapping он не синхронизирует, тоесть именна столбцов остаются от первой таблицы.
кстате имя первой таблицы начальное значение v_TableName, иначе неполучается нормально создать data flow task....

вопрос как зделать так что бы source i destination синхронизировали столбцы по имени таблицы полученной из user::v_TableName
Может быть можно и через параметр. Скорей всего Вы неправильно его устанавливаете-дергаете. Тут надо смотреть в текст таска уже, так не скажу.
4 июл 11, 15:12    [10918885]     Ответить | Цитировать Сообщить модератору
 Re: использование имя таблицы передаваемого из параметра в data flow task  [new]
startDBA
Member

Откуда:
Сообщений: 174
Павел Воронцов,

К сообщению приложен файл. Размер - 52Kb
4 июл 11, 15:29    [10919021]     Ответить | Цитировать Сообщить модератору
 Re: использование имя таблицы передаваемого из параметра в data flow task  [new]
startDBA
Member

Откуда:
Сообщений: 174
startDBA,

К сообщению приложен файл. Размер - 24Kb
4 июл 11, 15:29    [10919026]     Ответить | Цитировать Сообщить модератору
 Re: использование имя таблицы передаваемого из параметра в data flow task  [new]
startDBA
Member

Откуда:
Сообщений: 174
startDBA,

К сообщению приложен файл. Размер - 34Kb
4 июл 11, 15:30    [10919028]     Ответить | Цитировать Сообщить модератору
 Re: использование имя таблицы передаваемого из параметра в data flow task  [new]
startDBA
Member

Откуда:
Сообщений: 174
startDBA,

К сообщению приложен файл. Размер - 8Kb
4 июл 11, 15:31    [10919038]     Ответить | Цитировать Сообщить модератору
 Re: использование имя таблицы передаваемого из параметра в data flow task  [new]
startDBA
Member

Откуда:
Сообщений: 174
startDBA,

К сообщению приложен файл. Размер - 21Kb
4 июл 11, 15:31    [10919039]     Ответить | Цитировать Сообщить модератору
 Re: использование имя таблицы передаваемого из параметра в data flow task  [new]
startDBA
Member

Откуда:
Сообщений: 174
startDBA,

что еше показать?....

К сообщению приложен файл. Размер - 9Kb
4 июл 11, 15:32    [10919045]     Ответить | Цитировать Сообщить модератору
 Re: использование имя таблицы передаваемого из параметра в data flow task  [new]
startDBA
Member

Откуда:
Сообщений: 174
startDBA,

на последним рис параметры каторые передаются в Foreach Loop Container
4 июл 11, 15:33    [10919063]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить