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

Откуда:
Сообщений: 85
Привет всем!
Мне необходимо выполнить пакет для пяти аналогичных баз, расположенных в разных местах. Различие у них - только в диспетчере соединений, в остальном пакет не меняется. Можно как-нибудь в источниках OLE DB пакета использовать в качестве коннекта переменную? Или еще как-нибудь исхитриться, чтобы не плодить одинаковые пакеты для каждой базы?
10 июл 09, 11:41    [7400889]     Ответить | Цитировать Сообщить модератору
 Re: SISS 2005 - цикл с разными коннектами.  [new]
LenaV
Member

Откуда: USA
Сообщений: 6747
в Control Flow - правой кнопкой мышки на поле - Package Configurations
10 июл 09, 18:44    [7403610]     Ответить | Цитировать Сообщить модератору
 Re: SISS 2005 - цикл с разными коннектами.  [new]
Vikong
Member

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

Спасибо большое за подсказку. Только вот незадача - пакет отрабатывает только с последней конфигурацией. В окошке вывода с самого верха видно, как одна за другой считываются конфигурации. Получается, переменные получают значение последней конфигурации. И только затем начинает выполнятся пакет. Вот вывод:
Сведения: 0x40016040 в DimLoad: Пакет пытается выполнить настройку из SQL Server при помощи строки конфигурации ""olap.PiramidaDM";"[dbo].[SSIS Configurations]";"Конфигурация 1";".
Сведения: 0x40016040 в DimLoad: Пакет пытается выполнить настройку из SQL Server при помощи строки конфигурации ""olap.PiramidaDM";"[dbo].[SSIS Configurations]";"Конфигурация 1";".

Или я что-то не так делаю?
17 июл 09, 10:33    [7427643]     Ответить | Цитировать Сообщить модератору
 Re: SISS 2005 - цикл с разными коннектами.  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Ни чо не понятно...
Опишите детальней, что вы и как пытаетесь делать.
17 июл 09, 10:43    [7427724]     Ответить | Цитировать Сообщить модератору
 Re: SISS 2005 - цикл с разными коннектами.  [new]
Vikong
Member

Откуда:
Сообщений: 85
Ошибочка:
Сведения: 0x40016040 в DimLoad: Пакет пытается выполнить настройку из SQL Server при помощи строки конфигурации ""olap.PiramidaDM";"[dbo].[SSIS Configurations]";"Конфигурация 1";".
Сведения: 0x40016040 в DimLoad: Пакет пытается выполнить настройку из SQL Server при помощи строки конфигурации ""olap.PiramidaDM";"[dbo].[SSIS Configurations]";"Конфигурация 2";".
17 июл 09, 10:43    [7427731]     Ответить | Цитировать Сообщить модератору
 Re: SISS 2005 - цикл с разными коннектами.  [new]
Vikong
Member

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

1) Создал пакет, считывающий данные из базы OLTP, и добавляющих и в ХД
2) Создал две конфигурации Конфигурация 1 и Конфигурация 2, содержащие диспетчер соединений, используемый источниками данных
3) В полученной таблице конфигураций переопределил строки соединений.
4) Запустил пакет на выполнение
5) Пакет отработал, но только с последней конфигурацией (считал данные из соединения, определённого в последней конфигурации)
17 июл 09, 10:50    [7427778]     Ответить | Цитировать Сообщить модератору
 Re: SISS 2005 - цикл с разными коннектами.  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Ну... Так циклы по соединениям не делаются...

Заводите в пакете в Control Flow контейнер Foreach Loop Container, выделяете все таски Control Flow и перетаскиваете их в этот контейнер, открываете контейнер на редактирование и на закладке Collection в качестве Enumerator-а задаете Foreach Item Enumerator, давите кнопку Columns... фрэйма Enumerator configuration и создаете колонку во вновь открывшемся окне, давите OK и руками заполняете список, скажем, именами серверов (или значениями строк подключения), на закладке Variablr Mappings задаете переменную, в которую будет заносится значение имени сервера (строки подключения) при каждой иттерации цикла, закрываете окно редактирования контейнер.
В свойствах менеджера соединения нужного коннекта окрываете Expressions, открываете свойство строки соединения и давите на кнопку построителя выражений. В открывшемся окне, используя переменную, в которую было замаплено в контейнере имя сервера (строка соединения), строите эту самую строку. Всё.

Сообщение было отредактировано: 17 июл 09, 11:12
17 июл 09, 11:11    [7427929]     Ответить | Цитировать Сообщить модератору
 Re: SISS 2005 - цикл с разными коннектами.  [new]
Vikong
Member

Откуда:
Сообщений: 85
А... понятно. Что-то я думал, конфигурации поочерёдно выполняются, исходя из совета LenaV
Спасибо, буду пытаться.
17 июл 09, 11:48    [7428244]     Ответить | Цитировать Сообщить модератору
 Re: SISS 2005 - цикл с разными коннектами.  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Vikong
Что-то я думал, конфигурации поочерёдно выполняются...
Это так и есть. Только перед выполнением пакета, но не во время.
17 июл 09, 11:49    [7428252]     Ответить | Цитировать Сообщить модератору
 Re: SISS 2005 - цикл с разными коннектами.  [new]
Vikong
Member

Откуда:
Сообщений: 85
Сегодня попробовал, все получилось!
Спасибо большое за понятное объяснение.
21 июл 09, 12:54    [7439762]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить