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

Откуда:
Сообщений: 1010
Есть необходимость в одном проекте, в котором до 20 пакетов использовать переменные, значение которых равно для всех пакетов внутри одного проекта. Подскажите как это реализовать на уровне параметров/переменных. Почитал msdn: http://msdn.microsoft.com/ru-ru/library/ms140216.aspx
но так и не понял, как мне задать переменные на уровне проекта, а потом как к ним обращаться, пробовал и так:
@[User::varFirma] и так: @varFirma - но пишет что не может получить значение переменной. Переменную определял в обозревателе пакетов, задал для нее значение, но когда обращаюсь, скажем в Источнике OLEDB в качестве команды SQL:
автор
SELECT @varFirma
получаю ошибку. Подскажите пожалуйста как решить вопрос с использованием переменных?
26 дек 14, 17:39    [17058932]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS (dtsx) переменные в проекте, использовать их в запросах?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31962
Pvase
так и не понял, как мне задать переменные на уровне проекта, а потом как к ним обращаться, пробовал и так:
@[User::varFirma] и так: @varFirma - но пишет что не может получить значение переменной. Переменную определял в обозревателе пакетов, задал для нее значение, но когда обращаюсь, скажем в Источнике OLEDB в качестве команды SQL:
автор
SELECT @varFirma
получаю ошибку. Подскажите пожалуйста как решить вопрос с использованием переменных?
В свойствах задаче Execute SQL Server Task находите раздел параметры
В нём перечислаете используемые переменные
Использовать можно, например, так:
Для переменных определяете Parameter Name в виде числа, начиная с 0
В запросе используете эти переменные в виде знака ?
SELECT ?
Номер ? по порядку определяется этим числом по порядку
26 дек 14, 17:48    [17058960]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS (dtsx) переменные в проекте, использовать их в запросах?  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4478
Pvase
Есть необходимость в одном проекте, в котором до 20 пакетов использовать переменные, значение которых равно для всех пакетов внутри одного проекта. Подскажите как это реализовать на уровне параметров/переменных. Почитал msdn: http://msdn.microsoft.com/ru-ru/library/ms140216.aspx
но так и не понял, как мне задать переменные на уровне проекта, а потом как к ним обращаться, пробовал и так:
@[User::varFirma] и так: @varFirma - но пишет что не может получить значение переменной. Переменную определял в обозревателе пакетов, задал для нее значение, но когда обращаюсь, скажем в Источнике OLEDB в качестве команды SQL:
автор
SELECT @varFirma
получаю ошибку. Подскажите пожалуйста как решить вопрос с использованием переменных?

Обычно используется таблица и в пакете значение переменной начитывается из неё.
26 дек 14, 17:51    [17058969]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS (dtsx) переменные в проекте, использовать их в запросах?  [new]
Pvase
Member

Откуда:
Сообщений: 1010
alexeyvg
получаю ошибку. Подскажите пожалуйста как решить вопрос с использованием переменных?
В свойствах задаче Execute SQL Server Task находите раздел параметры
В нём перечислаете используемые переменные
Использовать можно, например, так:
Для переменных определяете Parameter Name в виде числа, начиная с 0
В запросе используете эти переменные в виде знака ?
SELECT ?
Номер ? по порядку определяется этим числом по порядку[/quot]

Спасибо, т.е. мне надо писать в запросе?:
SELECT * 
FROM Table 
Where 
Col1 = ?
AND Col2 = ??
AND Col3 = ???
26 дек 14, 18:07    [17059019]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS (dtsx) переменные в проекте, использовать их в запросах?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31962
Pvase
Спасибо, т.е. мне надо писать в запросе?:
SELECT * 
FROM Table 
Where 
Col1 = ?
AND Col2 = ??
AND Col3 = ???

SELECT * 
FROM Table 
Where 
Col1 = ?
AND Col2 = ?
AND Col3 = ?

а в определении параметров ставите имена в 0, 1, 2
26 дек 14, 18:11    [17059027]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS (dtsx) переменные в проекте, использовать их в запросах?  [new]
Pvase
Member

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

При указании параметра выдает следующую ошибку:
автор
[Задача "Выполнение SQL"] Ошибка: Сбой выполнения запроса "delete
from Fct_0029
where
IdNci_0062=?0
and..." со следующей ошибкой: "Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности, проверьте значения всех состояний OLE DB. Работа не выполнена.". Возможные причины сбоя: проблемы с этим запросом, свойство "ResultSet" установлено неправильно, параметры установлены неправильно или соединение было установлено неправильно.

26 дек 14, 18:14    [17059033]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS (dtsx) переменные в проекте, использовать их в запросах?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31962
Pvase
При указании параметра выдает следующую ошибку:
Ну что, значит, неправильно определили параметр, или неправильно написали запрос.
26 дек 14, 18:26    [17059062]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS (dtsx) переменные в проекте, использовать их в запросах?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31962
Pvase
При указании параметра выдает следующую ошибку:
Вот ещё хелпом можно пользоваться - читали его?
http://msdn.microsoft.com/ru-ru/library/cc280502.aspx
26 дек 14, 18:27    [17059066]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS (dtsx) переменные в проекте, использовать их в запросах?  [new]
Pvase
Member

Откуда:
Сообщений: 1010
Если указать:
delete 
from Fct_0029 
where 
	IdNci_0062=?
	and IdNci_0081=?
	and Year=2013

то выдает такое:
автор
[Задача "Выполнение SQL"] Ошибка: Сбой выполнения запроса "delete
from Fct_0029
where
IdNci_0062=?
and I..." со следующей ошибкой: "Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности, проверьте значения всех состояний OLE DB. Работа не выполнена.". Возможные причины сбоя: проблемы с этим запросом, свойство "ResultSet" установлено неправильно, параметры установлены неправильно или соединение было установлено неправильно.

26 дек 14, 18:34    [17059094]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS (dtsx) переменные в проекте, использовать их в запросах?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31962
Pvase
то выдает такое:
А параметры правильно настроены?
26 дек 14, 21:37    [17059639]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS (dtsx) переменные в проекте, использовать их в запросах?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31962
alexeyvg
Pvase
то выдает такое:
А параметры правильно настроены?
Ну и остальное посмотрите, напишите там для начала, допустим, такой тестовый запрос:
select top 1 * from Fct_0029

проверьте другие настройки таска, в крайнем случае, создайте новый таск, а то вы могли там что то накрутить в процессе попыток использовать параметры
26 дек 14, 21:40    [17059655]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить