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

Откуда: Краснодар
Сообщений: 1398
Привет всем!
Установил Business Intelligence Development Studio, создал пакет SSIS. Рисую компоненты, как на скрине. Картинка с другого сайта.

Задача №1, например SELECT 100 [ID] INTO ##T
А Задача №2. SELECT * FROM ##T

Так вот на второй задаче возникает сбой, что ##T не определён. А почему возникает так? Соединение рушится перед следующей задачей? И что можно предпринять?

На деле хочу нечто такое:
Картинка с другого сайта.
31 авг 12, 16:21    [13096193]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, не могу обратиться к глобальной временной таблице.  [new]
nicescar
Member

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

Про временные таблицы: https://www.sql.ru/blogs/t-sql/1149
По-моему SSIS не поддерживает соединение, когда работа с рекордсетом окончена.
31 авг 12, 16:24    [13096228]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, не могу обратиться к глобальной временной таблице.  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5117
VSVLAD,
читать про область видимости глобальных временных.
либо использовать ".net way" - переменные типа object, либо явно создавайте таблицы в базе tempdb.
1 сен 12, 12:56    [13099164]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, не могу обратиться к глобальной временной таблице.  [new]
VSVLAD
Member

Откуда: Краснодар
Сообщений: 1398
Дедушка
читать про область видимости глобальных временных

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

Вообще скрипт SQL готовый есть ~2000 строчек который решает задачу, идея была перенести всё это в пакет - чтобы частично распараллелить, да и красиво смотреть как код отработает, чтобы оценить степень завершения
1 сен 12, 13:49    [13099272]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, не могу обратиться к глобальной временной таблице.  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
VSVLAD
И что можно предпринять?
RetainSameConnection = true in the connection's properties.
2 сен 12, 07:20    [13100670]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, не могу обратиться к глобальной временной таблице.  [new]
VSVLAD
Member

Откуда: Краснодар
Сообщений: 1398
Mind,

Спасибо, посмотрю как буду на работе.
2 сен 12, 16:30    [13101498]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, не могу обратиться к глобальной временной таблице.  [new]
VSVLAD
Member

Откуда: Краснодар
Сообщений: 1398
Mind,

Частично помогло. Например если несколько задач располагаются в "контейнере", то не работает.
3 сен 12, 09:26    [13103259]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, не могу обратиться к глобальной временной таблице.  [new]
VSVLAD
Member

Откуда: Краснодар
Сообщений: 1398
Точнее если есть в контейнере задачи, которые не связаны очередностью. А в остальном контейнер работает, но теряется весь его смысл
3 сен 12, 09:30    [13103273]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, не могу обратиться к глобальной временной таблице.  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
VSVLAD
Точнее если есть в контейнере задачи, которые не связаны очередностью.

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

К сообщению приложен файл. Размер - 15Kb
3 сен 12, 10:30    [13103577]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, не могу обратиться к глобальной временной таблице.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31960
VSVLAD
Про временные таблицы я читал и понимаю. Но создавать вместо них объекты, потом их уничтожать не хочется.
Если пакет не запускается в нескольких экземплярах, то имхо вам будет удобнее создавать постоянные таблицы в tempdb, а не заморачиваться с временными таблицами.

С временными таблицами вы даже многие вещи сделать не сможете, типа создать Data Flow Task.
3 сен 12, 11:15    [13103935]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, не могу обратиться к глобальной временной таблице.  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
alexeyvg
С временными таблицами вы даже многие вещи сделать не сможете, типа создать Data Flow Task.

неправда Ваша, все нормально создается и со временными таблицами
3 сен 12, 12:01    [13104289]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, не могу обратиться к глобальной временной таблице.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31960
HandKot
alexeyvg
С временными таблицами вы даже многие вещи сделать не сможете, типа создать Data Flow Task.

неправда Ваша, все нормально создается и со временными таблицами
Нормально - это как, выбрать таблицу из списка и там сами смапятся колонки?
3 сен 12, 12:14    [13104407]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, не могу обратиться к глобальной временной таблице.  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
не совсем
1. в переменной пишите запрос вида
select null col1, null col2
, который повторяет структуру временной таблицы
2. делаете источником переменную
3. колонки сами мапятся
4. настраиваете в шаге "не проверять метаданные"
5. наконец меняете в переменной "левый" запрос на выборку из временной таблицы
3 сен 12, 12:25    [13104540]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, не могу обратиться к глобальной временной таблице.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31960
HandKot
не совсем
1. в переменной пишите запрос вида
select null col1, null col2

, который повторяет структуру временной таблицы
2. делаете источником переменную
3. колонки сами мапятся
4. настраиваете в шаге "не проверять метаданные"
5. наконец меняете в переменной "левый" запрос на выборку из временной таблицы
А, ну да, так можно, хороший способ.
3 сен 12, 12:29    [13104576]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить