Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Лентяй.
Guest |
Уважаемые коллеги! Помогите пожалуйста реализовать простую задачу для SSIS. Задача следующая. Нужен пакет, который будт запускаться из job'а, принимая параметр. С использованием этого параметра будет получаться набор данных, после чего для каждой строки набора будет выполняться запрос, результат которого нужно будет выгрузить в Excel-файл.
Что не получилось : Сделать ExecuteSQL Task, который выполняет параметрический запрос, причем значение параметра принимается из переменной пакета. Не понял, как внутри цикла ForEach использовать переменную цикла. Как формировать имена файлов. в которые выполняется выгрузка.
Плиз хелп! :) |
||
25 дек 09, 10:13 [8117044] Ответить | Цитировать Сообщить модератору |
tpg Member Откуда: Novosibirsk Сообщений: 23902 |
Попробуйте так: - SQL statement : select _id1 from dbo.test1 where _date = ? - Parameter mapping : User::dt; Direction = Input; DataType = adDate; ParameterName = Param1 |
||
25 дек 09, 10:36 [8117208] Ответить | Цитировать Сообщить модератору |
tpg Member Откуда: Novosibirsk Сообщений: 23902 |
А вот имя выходного файла придется формировать в Expression для соответствующего коннект менеджера, опять же, с использованием ваших переменных. |
||
25 дек 09, 10:50 [8117318] Ответить | Цитировать Сообщить модератору |
Лентяй.
Guest |
Спасибо, tpg, работает. Я читал вот тут но только в русской справке, для меня такое обращение к параметрам получилось неочевидным. Товарищи, поясните пожалуйста параграф из спойлера. Насколько я понял, параметры можно именовать. Однако, если в тексте запроса я пишу так : declare @d datetimeSSIS ругается. Как показать, что я ввожу именованный параметр (в данном случае имя параметра должно быть _date)?
И подскажите про это. пожалуйста
|
|||||
25 дек 09, 10:57 [8117380] Ответить | Цитировать Сообщить модератору |
Лентяй.
Guest |
Спасибо огромное, сейчас буду пробовать. |
||||
25 дек 09, 10:59 [8117388] Ответить | Цитировать Сообщить модератору |
tpg Member Откуда: Novosibirsk Сообщений: 23902 |
|
||
25 дек 09, 11:30 [8117630] Ответить | Цитировать Сообщить модератору |
Лентяй.
Guest |
[Execute SQL Task] Error: Executing the query "declare @d datetime set @d = ?_date select _id1 from dbo.test1 where _date = @d" failed with the following error: "Must declare the scalar variable "@P1_date".". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly. |
||||
25 дек 09, 12:47 [8118220] Ответить | Цитировать Сообщить модератору |
Лентяй.
Guest |
Не получается ![]() Сделал такой ScriptTask.
Теперь вопросы такие : - у меня из SQLTask возвращается набор данных в объектную переменную. ForEach task должен быть Enumerator= Foreach From Variable Enumerator или Enumerator= Foreach ADO Enumerator? - Объявил переменную _id типа Integer для ForEach task. Как мне сделать, чтобы переменная _id была переменной цикла? - Как обратиться к полю _res класса ScriptMain из DataFlow? Коллеги, помогите плиз освоить это чудо индусской мысли!!! Я так вроде не очень тупой, и опыт вроде есть. Но что-то логика пакетов SSIS до меня никак не доходит! |
|||
25 дек 09, 16:28 [8119824] Ответить | Цитировать Сообщить модератору |
tpg Member Откуда: Novosibirsk Сообщений: 23902 |
И причем тут индусы? |
||
28 дек 09, 06:20 [8125157] Ответить | Цитировать Сообщить модератору |
Между сообщениями интервал более 1 года. |
Vezyr Member Откуда: Сообщений: 6 |
А какая версия сервера? В 2005 вместо параметризованного запроса лучше использовать выражения или значение переменной. |
28 мар 13, 19:00 [14109426] Ответить | Цитировать Сообщить модератору |
Cygapb-007 Member Откуда: Сообщений: 1677 |
Vezyr, доброе утрое ![]() |
28 мар 13, 19:01 [14109433] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |