Как использовать постоянную переменную в SSIS - PullRequest
1 голос
/ 02 апреля 2009

Я определил переменную как:

   DateSecondsOffset Int default as 1

в проекте службы интеграции SQL Server. Я использую это как константу.

В задаче у меня есть следующий SQL для установки другой переменной NextDT:

  SELECT dateadd(s, max(timestamp), 1) DT from myTable

Я бы хотел заменить 1 на DateSecondOffset, чтобы я мог изменить его при необходимости Могу ли я просто ввести имя переменной там или поставить префикс @ или что-то еще?

Ответы [ 3 ]

0 голосов
/ 02 апреля 2009

Вы должны передать переменную пакета в качестве параметра для задачи SQL.

Вы можете определить, сделать это
- в «Выполнить редактор задач SQL» -> «Сопоставление параметров» раздел
- или в параметрах ReadOnlyVariables ( ReadWriteVariables , если вы хотите иметь возможность изменять значение переменной во время выполнения задачи) в «Редакторе задач сценария» в окне

Затем объявите переменную внутри SQL-запроса и начните ее с первого параметра:

DECLARE @DateSecondsOffset INT
SET @DateSecondsOffset = ?
SELECT dateadd(s, max(timestamp), @DateSecondsOffset ) DT from myTable

См. Индекс Патрика: Передача переменных в задачу SSIS и из нее

0 голосов
/ 13 июня 2009

Синтаксис для ссылки на параметр в задаче «Выполнение SQL» зависит от типа используемого вами соединения.

Например, для соединений ADO.NET вы используете @ParameterName. Для соединений OleDB вы используете?.

Полную информацию можно найти здесь

http://msdn.microsoft.com/en-us/library/cc280502.aspx

0 голосов
/ 02 апреля 2009

Если вы в сценарии ..

Dts.Variables("DateSecondOffset").Value

Если вы ссылаетесь на это в поле ..

Scope::DateSecondOffset

Замените Scope вашей областью действия, которую можно найти на вкладке "Package Explorer" в разделе переменных.

Если вы ссылаетесь на него в SQL ...

SELECT @ DateSecondOffset

Обязательно настройте параметры ввода / вывода в задаче SQL и переменные ReadOnly / ReadWrite в задаче сценария.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...