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

Откуда:
Сообщений: 315
Коллеги, подскажите пожалуйста, открываю для себя SSIS

Собственно вопрос: Создал пакет, соединения OLEDB, разместил в потоке управления следующие элементы:
1. задача "Выполнение SQL" - Удаляет (Truncate) строки в промежуточной области, перед заливкой данных.
2. задача "Выполнение SQL" - В нем просто запрос, который возвращает значение переменных, которые используются далее.
3. Задача потока данных - в этом блоке все просто "Источник OLEDB" выполняет ХП с параметрами полученными во 2ом пункте и заливает данные в промежуточную область ("Назначение OLEDB").

Проблема в том, что переменные не имеют значения, хотя вроде все четко сделал, но ошибка такова

[Источник ] Ошибка: Команде SQL требуется параметр с именем "@LinkedName", который не найден в сопоставлении параметров.


К сообщению приложен файл. Размер - 91Kb
21 окт 16, 09:03    [19807062]     Ответить | Цитировать Сообщить модератору
 Re: SSIS переменные  [new]
IDVT
Member

Откуда:
Сообщений: 315
Извиняюсь, забыл картинку в спойлер вогнать
21 окт 16, 09:04    [19807068]     Ответить | Цитировать Сообщить модератору
 Re: SSIS переменные  [new]
Владислав Колосов
Member

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

Ошибка на каком этапе возникает?
21 окт 16, 10:23    [19807494]     Ответить | Цитировать Сообщить модератору
 Re: SSIS переменные  [new]
Ferdipux
Member

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

Пусть ваша SP имеет параметры @LinkedName и @DBName. Тогда, чтобы оно работало, нужно команду записать как
EXEC [YourSP]
    @LinkedName = ?,
    @DBName = ?
... 

А в маппинг описать как
Parameters Variables
@LinkedName User::LinkedName
@DBName User::DBName

Вот тогда оно сработает.
21 окт 16, 10:30    [19807555]     Ответить | Цитировать Сообщить модератору
 Re: SSIS переменные  [new]
alvigr
Guest
IDVT,

попробуйте в полях Имя результата и Параметры поставить 0, 1, 2.. - номера полей по порядку, а не названия.
21 окт 16, 10:38    [19807636]     Ответить | Цитировать Сообщить модератору
 Re: SSIS переменные  [new]
IDVT
Member

Откуда:
Сообщений: 315
Спасибо за ответы, переменным значения присваиваются, проверил обычным инсертом в тестовую таблицу. Ошибка возникает на этапе запуска ХП (источника данных).
поймал в профайлере запрос, в нем нет значений параметров.
Может проблема в поставщике "NAtive Client11.0"
21 окт 16, 11:03    [19807857]     Ответить | Цитировать Сообщить модератору
 Re: SSIS переменные  [new]
IDVT
Member

Откуда:
Сообщений: 315
Запуск ХП делаю так

EXEC dbo.ETL_OF_ProductCategories 
  @LinkedName = ?
, @DBName = ?
WITH RESULT SETS
  ( (
     ProductCategoryId	char(9)
   , ProductCategoryNum	smallint
   , ProductCategoryTitle	varchar(70)
   , ProductGroupID	char(9)
   , ProductGroupNum	smallint
   , ProductGroupTitle	varchar(70)
   , ProductSubGroupId	char(9)
   , ProductSubGroupNum	smallint
   , ProductSubGroupTitle	varchar(70) ));


в профайлере ловлю следующее

exec [sys].sp_describe_undeclared_parameters N'EXEC dbo.ETL_OF_ProductCategories 
  @LinkedName = @P1
, @DBName = @P2
WITH RESULT SETS
  ( (
     ProductCategoryId	char(9)
   , ProductCategoryNum	smallint
   , ProductCategoryTitle	varchar(70)
   , ProductGroupID	char(9)
   , ProductGroupNum	smallint
   , ProductGroupTitle	varchar(70)
   , ProductSubGroupId	char(9)
   , ProductSubGroupNum	smallint
   , ProductSubGroupTitle	varchar(70) ));'
21 окт 16, 11:08    [19807882]     Ответить | Цитировать Сообщить модератору
 Re: SSIS переменные  [new]
IDVT
Member

Откуда:
Сообщений: 315
Ferdipux
IDVT,

Пусть ваша SP имеет параметры @LinkedName и @DBName. Тогда, чтобы оно работало, нужно команду записать как
EXEC [YourSP]
    @LinkedName = ?,
    @DBName = ?
... 

А в маппинг описать как
Parameters Variables
@LinkedName User::LinkedName
@DBName User::DBName

Вот тогда оно сработает.


Спасибо! все заработало! нужно было пересобрать решения
21 окт 16, 11:21    [19807954]     Ответить | Цитировать Сообщить модератору
 Re: SSIS переменные  [new]
IDVT
Member

Откуда:
Сообщений: 315
Коллеги, есть еще один вопрос, не получается на гуглить ответ.

Есть таблица содержит 14 строк, параметры для выполнения ХП (имя линка, имя БД, дату актуализации)
необходимо в одном потоке управления запустить ХПшки по всем записям таблицы, т.е. не последовательно а одновременною Ума не приложу как это сделать, подскажите пожалуйста.
21 окт 16, 17:27    [19810419]     Ответить | Цитировать Сообщить модератору
 Re: SSIS переменные  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
IDVT
Есть таблица содержит 14 строк, параметры для выполнения ХП (имя линка, имя БД, дату актуализации)
необходимо в одном потоке управления запустить ХПшки по всем записям таблицы, т.е. не последовательно а одновременною Ума не приложу как это сделать, подскажите пожалуйста.
- отправлять в пакете сообщения сервис брокеру который будет запускать вашу ХП
- либо, если 14 фиксировано, то нарисовать в контралфлоу 14 параллельных потока
21 окт 16, 18:03    [19810543]     Ответить | Цитировать Сообщить модератору
 Re: SSIS переменные  [new]
Студент.
Guest
Дедушка, можно по первому варианту немного подробнее (поверхностно), куда копать.
Заранее, спасибо за ответ! пока это все темный лес для меня =(
21 окт 16, 18:41    [19810641]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить