SSIS сохранить значение в качестве параметра - PullRequest
3 голосов
/ 15 марта 2019

Я использую команду SELECT UpdateDate FROM dbo.log в задаче выполнения sql.Я новичок в этом, поэтому, пожалуйста, потерпите меня.Я хочу сохранить значение как переменную, а затем передать его в предложении where последующего потока данных.Мои вопросы:

  1. Как правильно настроить задачу «Выполнение SQL».В общем, у меня есть подключение OLE DB и прямой ввод с запросом выше.Набор результатов имеет значение «Одна строка», а затем я сохраняю его в созданной мной переменной «User :: UpdateDate».По какой-то причине это не работает?
  2. Затем я хочу назвать эту дату в потоке данных.то есть.SELECT * FROM Users WHERE RecordDate > User::UpdateDate.Я считаю, что синтаксис отличается для этого.

Буду очень признателен за помощь.Большое спасибо заранее

Ответы [ 2 ]

2 голосов
/ 15 марта 2019

Выполнить задачу SQL с ResultSet

Прежде всего, создайте переменную типа System.Date пример: @[User::UpdateDate].

Добавьте задачу «Выполнение SQL», выберите соединение OLEDB и используйте следующую команду в качестве оператора SQL:

SELECT TOP 1 UpdateDate FROM dbo.log

Установите для свойства ResultSet значение Single Row и на вкладке ResultSet добавьте строку со следующими значениями:

ResultName = 0   (which means the first column)
VariableName = @[User::UpdateDate]

Дополнительная информация

Источник OLEDB с параметризованной командой SQL

Внутри задачи потока данных добавьте источник OLEDB, выберите значения от Access Mode до SQL Command. И напишите следующую команду:

SELECT * FROM Users WHERE RecordDate > ?

Нажмите кнопку Parameters и отобразите переменную @[User::UpdateDate] в качестве первого параметра.

Дополнительная информация

2 голосов
/ 15 марта 2019

В редакторе задач «Выполнение SQL» настройте отображение параметров, как показано ниже, очевидно, используйте свою собственную переменную, в этом примере я использую PackageStartTime.

enter image description here

Затем в своем операторе SQL используйте ниже:

SELECT * FROM Users WHERE RecordDate > ?

Чтобы сохранить значение из оператора SQL, вам нужно установить Result Set в одну строку и настроить набор результатов, как показано вПример ниже:

enter image description here

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