Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Integration Services 2008 (SSIS)  [new]
Evelion
Member

Откуда:
Сообщений: 37
Доброго времени суток, уважаемые знатоки !
Прошу вашей помощи в следующем вопросе:

В Integration Services 2008 использую инструмент Web Service Task.
Определенный метод при обращении к веб сервису использует 4 входных параметра (datetime , boolean, datetime , boolean).
Необходимо задавать эти параметры динамически, то есть необходимо использовать переменную.
Вопрос: Как задать этой одной переменной 4 параметра ?

Нигде не могу найти информацию как это реализовать.

Если у кого есть пример как это делается - буду рад ссылке. Спасибо !
25 июн 12, 16:03    [12771651]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Andrey Sribnyak
Member

Откуда: Киев
Сообщений: 599
Evelion,

http://bidn.com/blogs/BillBrannen/bidn-blog/619/ssis-web-service-task-step-by-step
25 июн 12, 22:06    [12773399]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Evelion
Member

Откуда:
Сообщений: 37
Andrey Sribnyak,

К сожалению это не то, здесь дана пошаговая инструкция по пользованию Web Service task, а мне необходимо узнать - как в него вставить переменную с НЕСКОЛЬКИМИ параметрами. То есть, как быть в случае, если метод требует 4 входящих значения.
26 июн 12, 09:16    [12774437]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Andrey Sribnyak
Member

Откуда: Киев
Сообщений: 599
Evelion
Andrey Sribnyak,

К сожалению это не то, здесь дана пошаговая инструкция по пользованию Web Service task, а мне необходимо узнать - как в него вставить переменную с НЕСКОЛЬКИМИ параметрами. То есть, как быть в случае, если метод требует 4 входящих значения.


Пару небольших ремарок

1. Не так давно Яндекс проводил конкурс сисадминов. Победителем стал парень, который утверждал, что админом НЕ является, просто умеет быстро Гуглить (как бы не обидно это было для яндекса не яндексить ;-) ).
2. Не так давно я был на собеседовании в Епам, и там на вопрос, оценить собственные знания в SSIS по десятибалльной шкале, я дал ответ "четыре" (т.е это фактически двойка по нормальной пятибальной :-)) )

Та ссылка, что я вам дал. По сути таковой пошаговой и является. Я решил проверить для себя, смогу ли я по ней создать пакет, который будет что-либо загружать с инета, при этом входные значения должны быть заданы через переменную. Я вот смог.
Свой опыт описал Здесь

Пару выводов:
а. Знания приходят и уходят, а навыки остаются
б. Следующий раз я свои знания по SSIS оценю как минимум на 5 из десятибалльной шкалы ;-))
26 июн 12, 12:19    [12775640]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Evelion
Member

Откуда:
Сообщений: 37
Andrey Sribnyak,

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

Я прошу объяснить как сделать то же самое в случае, если нужно задать одной переменной 4 параметра ??
То есть метод на входе требует дату начала, дату конца и два булевых значения.

Как быть в таком случае ?
26 июн 12, 13:06    [12775973]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Glory
Member

Откуда:
Сообщений: 104751
Evelion
Как быть в таком случае ?

Сделать 4 переменных ?
26 июн 12, 13:29    [12776166]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
AlexMajic
Member

Откуда: Kiev
Сообщений: 99
а распарсить эту переменную на четыре нельзя перед передачей методу?
26 июн 12, 13:34    [12776202]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Evelion
Member

Откуда:
Сообщений: 37
Glory, К сожалению, такая возможность отсутствует((

AlexMajic, Нельзя(
26 июн 12, 13:54    [12776404]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Glory
Member

Откуда:
Сообщений: 104751
Evelion
Glory, К сожалению, такая возможность отсутствует((

Отсутствует у кого ?
26 июн 12, 13:55    [12776412]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Virus квартирус
Member

Откуда: Москва
Сообщений: 41
Если у метода есть 4 параметра, то ему нужно передать 4 переменных.
Если бы все параметры были однотипными, то им всем одну переменную и можно было бы подсунуть, но какой в этом был бы смысл?
У Вас же параметры разнотипные.
Что за переменная такая, которая покроет сразу все эти параметры?
Это строка с перечислением значений через запятую? Или содержащая XML?
Если так, то в SSIS-пакете можно такую переменную разложить на несколько стандартными средствами, а потом уже назначить каждому параметру метода свою переменную.
Другого не придумали ещё.
26 июн 12, 14:10    [12776536]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Evelion
Member

Откуда:
Сообщений: 37
Glory, У компонента Web Service Task.

Там есть возможность задания только одной переменной.
26 июн 12, 14:14    [12776578]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Virus квартирус
Member

Откуда: Москва
Сообщений: 41
Кто это Вам сказал?
См. вложение

К сообщению приложен файл. Размер - 89Kb
26 июн 12, 14:17    [12776620]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Glory
Member

Откуда:
Сообщений: 104751
Evelion
Там есть возможность задания только одной переменной.

Наверное потому, что там есть только объявленные переменные ?
26 июн 12, 14:24    [12776693]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Evelion
Member

Откуда:
Сообщений: 37
Virus квартирус, Ээ... Каким образом у Вас это получилось ?)
26 июн 12, 14:33    [12776769]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Virus квартирус
Member

Откуда: Москва
Сообщений: 41
Да вообще-то стандартным образом :).
Задал ConnectionManager, задал WSDL-описание сервиса....
26 июн 12, 14:40    [12776833]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Evelion
Member

Откуда:
Сообщений: 37
Virus квартирус, Не понимаю.. то есть кол-во переменных зависит от самого метода обращения ? У меня только одна переменная для этого метода.
26 июн 12, 14:45    [12776891]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Ruuu
Member

Откуда: Иркутск
Сообщений: 4272
Evelion,

12776693
26 июн 12, 14:55    [12776952]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Andrey Sribnyak
Member

Откуда: Киев
Сообщений: 599
Evelion
Virus квартирус, Не понимаю.. то есть кол-во переменных зависит от самого метода обращения ? У меня только одна переменная для этого метода.


Есть подозрение ,что это зависит ,от реализации

У Яндекса, это например видимо ,как у Вас реализовано

Можно попробовать в Value прописать локальные переменные

К сообщению приложен файл. Размер - 26Kb
26 июн 12, 14:59    [12776982]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Virus квартирус
Member

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

А кто же мешает ещё переменные объявить?
Есть метод Web-сервиса, у него есть параметры.
Есть переменные пакета или Task-а.
В настройках Web Service Task производится сопоставление переменных пакета и параметров метода Web-сервиса.
26 июн 12, 14:59    [12776984]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Virus квартирус
Member

Откуда: Москва
Сообщений: 41
Andrey Sribnyak,

Можно ссылочку на сервис?
Есть определённые мысли
26 июн 12, 15:25    [12777241]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Andrey Sribnyak
Member

Откуда: Киев
Сообщений: 599
Virus квартирус
Andrey Sribnyak,

Можно ссылочку на сервис?
Есть определённые мысли


Да без проблем, он открытый :-)


http://speller.yandex.net/services/spellservice?WSDL
26 июн 12, 15:29    [12777273]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Andrey Sribnyak
Member

Откуда: Киев
Сообщений: 599
Andrey Sribnyak
Virus квартирус
Andrey Sribnyak,

Можно ссылочку на сервис?
Есть определённые мысли


Да без проблем, он открытый :-)


http://speller.yandex.net/services/spellservice?WSDL



сорри .. не тот

Этот:

http://soap.direct.yandex.ru/wsdl/v4/
26 июн 12, 15:34    [12777308]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Evelion
Member

Откуда:
Сообщений: 37
Andrey Sribnyak, Пытался в Value подставить имя переменной, но у меня типы данных стоят datetime, поэтому ничего кроме времени он там даже вставить не дает.
А так - ситуация в точности как у Вас на картинке, только у меня 4 параметра для одного метода и другие типы данных, а переменной заменить их можно только одной.
Если создавать переменные в пакете или в области видимости Web task'a то кол-во переменных для вставки в метод не изменяется.

К сообщению приложен файл. Размер - 76Kb
26 июн 12, 15:38    [12777352]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Virus квартирус
Member

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

Всё дело в том, что в Вашем случае параметр метода Web-сервиса имеет нестандартный тип.
Т.е. в качестве параметра нужно передавать экземпляр определённого класса с заданными свойствами.
Это можно сделать через переменную типа object, которой в Script Task-е присвоить экземпляр класса.
Но при этом компонент Web Service Task должен понимать конечный тип, который ему передаётся. Для этого передаваемый класс должен быть вынесен в отдельную сборку, которая должна быть зарегистрирована в GAC-е и через References подключена в Script Task-е.

Как-то так.
Это в теории, на практике не проверял.
По-моему, в таких случаях проще Web-сервис вызывать непосредственно в Script Task-е, не используя Web Service Task.
26 июн 12, 16:52    [12777966]     Ответить | Цитировать Сообщить модератору
 Re: Integration Services 2008 (SSIS)  [new]
Evelion
Member

Откуда:
Сообщений: 37
Virus квартирус, Большое спасибо !

Решил проблему вторым методом, сделал все что нудно в Script Task'e.
27 июн 12, 16:27    [12783892]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить