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

Откуда: Msk
Сообщений: 582
Положил на форму компонент SQL Task и в нём выполнил команду "Select".
Каким образом передать результаты этого селекта в другой блок SQL Task, чтобы там вести обработку результата?
14 дек 16, 22:39    [20004743]     Ответить | Цитировать Сообщить модератору
 Re: SISS, нужно передать данные из SQL Task в другой SQL Task  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
NewIvanovec,

Вы что целый курс прочитать, как работать с SSIS?
Там вообще то переменные есть...
14 дек 16, 23:15    [20004855]     Ответить | Цитировать Сообщить модератору
 Re: SISS, нужно передать данные из SQL Task в другой SQL Task  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4478
Не нужны тут переменные!
Создайте Data Target, соедините свой Source Data c ним.
А вообще почитайте гайд по SSIS, многие вопросы отпадут сами собой.
15 дек 16, 09:42    [20005449]     Ответить | Цитировать Сообщить модератору
 Re: SISS, нужно передать данные из SQL Task в другой SQL Task  [new]
Ferdipux
Member

Откуда: Москва
Сообщений: 594
SQL2008,

Ничего себе не нужны! Может, тредстартер там получает список таблиц и потом их чистит.
Антифоотопик - если не передача данных - делается через object variable с последующим for each ADO.NET loop и разбором каждой строки. К примеру, вот так.
15 дек 16, 10:39    [20005788]     Ответить | Цитировать Сообщить модератору
 Re: SISS, нужно передать данные из SQL Task в другой SQL Task  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4478
Ferdipux
SQL2008, Ничего себе не нужны! Может, тредстартер там получает список таблиц и потом их чистит.

А может быть он не получает список таблиц и не чистит их.
Тогда точно не нужны!
Не стоит делать вводы из предположений.
16 дек 16, 09:33    [20009955]     Ответить | Цитировать Сообщить модератору
 Re: SISS, нужно передать данные из SQL Task в другой SQL Task  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8805
Поищите на сайте MS курсы по работе с SSIS, но качайте англоязычные.
16 дек 16, 10:52    [20010403]     Ответить | Цитировать Сообщить модератору
 Re: SISS, нужно передать данные из SQL Task в другой SQL Task  [new]
NewIvanovec
Member

Откуда: Msk
Сообщений: 582
создал глобальную переменную GameList типа System.object, в которую должен записываться результат запроса SQL Task.

затем настроил ForEachLoop как на картинке

но получаю ошибку: Переменная "User::GameList" не содержит допустимый объект данных.

К сообщению приложен файл. Размер - 141Kb
16 дек 16, 11:33    [20010669]     Ответить | Цитировать Сообщить модератору
 Re: SISS, нужно передать данные из SQL Task в другой SQL Task  [new]
Ferdipux
Member

Откуда: Москва
Сообщений: 594
NewIvanovec,

Или переменная не System.Object (на картинке - Int32), или параметры SQL Task ResultSet - не Full Result Set.
Действительно, посмотрите книжку про SSIS, оно легче пойдет.
16 дек 16, 12:16    [20011053]     Ответить | Цитировать Сообщить модератору
 Re: SISS, нужно передать данные из SQL Task в другой SQL Task  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5115
NewIvanovec,

судя по вашей картинке не очень понятно зачем вы хотите навернуть всю эту обвязку с циклом и чтением объектной переменной...
почему не сделать одним t-sql скриптом?
16 дек 16, 12:41    [20011300]     Ответить | Цитировать Сообщить модератору
 Re: SISS, нужно передать данные из SQL Task в другой SQL Task  [new]
NewIvanovec
Member

Откуда: Msk
Сообщений: 582
Дедушка
NewIvanovec,

судя по вашей картинке не очень понятно зачем вы хотите навернуть всю эту обвязку с циклом и чтением объектной переменной...
почему не сделать одним t-sql скриптом?


изначально у меня и сделано это всё (отбор ошибочных клиентов и информирование администратора email-ом)
в одной хранимой процедуре с помощью курсора.
Но хочу сделать эту же задачу по-новому: отобрать клиентов запросом через в SQL Task и перебрать полученные строки ForEachLoop-ом, чтобы по каждой "проблемной" строке отправить email


Ferdipux, наверно удивишься :), но переменная GameList именно System.Object (хотя на картинке - Int32), а параметры SQL Task ResultSet - именно Full Result Set. (см. картинку)

К сообщению приложен файл. Размер - 116Kb
16 дек 16, 13:38    [20011758]     Ответить | Цитировать Сообщить модератору
 Re: SISS, нужно передать данные из SQL Task в другой SQL Task  [new]
Ferdipux
Member

Откуда: Москва
Сообщений: 594
NewIvanovec,

В команде SQL подключение - ODE DB? В результатах - меппинг 0 на переменную?
Приведенный пример имеет недостаток - там та же самая переменная
16 дек 16, 14:00    [20011958]     Ответить | Цитировать Сообщить модератору
 Re: SISS, нужно передать данные из SQL Task в другой SQL Task  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5115
NewIvanovec,

я бы присвоил имя полю в вашем sql запросе
16 дек 16, 14:04    [20011983]     Ответить | Цитировать Сообщить модератору
 Re: SISS, нужно передать данные из SQL Task в другой SQL Task  [new]
NewIvanovec
Member

Откуда: Msk
Сообщений: 582
Ferdipux
NewIvanovec,

В команде SQL подключение - ODE DB? В результатах - меппинг 0 на переменную?
Приведенный пример имеет недостаток - там та же самая переменная


Сейчас подключение ADO. C самого начала было OLE DB и та же самая картина была.

Да. меппинг 0 на переменную. Кстати, ошибки в SQL task Нет. Ошибка в ForEachLoop-е.

К сообщению приложен файл. Размер - 107Kb
16 дек 16, 14:29    [20012193]     Ответить | Цитировать Сообщить модератору
 Re: SISS, нужно передать данные из SQL Task в другой SQL Task  [new]
NewIvanovec
Member

Откуда: Msk
Сообщений: 582
Дедушка
NewIvanovec,

я бы присвоил имя полю в вашем sql запросе


с именем полю ошибка не ушла

К сообщению приложен файл. Размер - 129Kb
16 дек 16, 14:34    [20012251]     Ответить | Цитировать Сообщить модератору
 Re: SISS, нужно передать данные из SQL Task в другой SQL Task  [new]
NewIvanovec
Member

Откуда: Msk
Сообщений: 582
все переменные, что были - удалил. Вместо них создал переменные из окна Sql Task и For each...соответственно
Удивительно, но проблема ушла. (Ferdipux , в отладке и тип поменялся с Int32 на Object)

Господа, спасибо за внимание и терпение :)
16 дек 16, 20:55    [20014156]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить