Передать параметр SSIS в OPENQUERY - PullRequest
0 голосов
/ 28 ноября 2018

Пожалуйста, мне нужна помощь для передачи параметра в SSIS в 'OPENQUERY', чтобы проверить запрос, я использую приведенный ниже скрипт, но получаю ошибки:

Скрипт:

DECLARE @TSQL varchar(8000), @Date varchar(11)
SELECT  @Date = '28 Nov 2018'
SELECT  @TSQL = 'SELECT * FROM OPENQUERY([TEST], ''SELECT * FROM PUB.TEST
WHERE Test_Date >= ''''' + @Date + ''''''')'
EXEC (@TSQL)

Ошибка:

OLE DB provider "MSDASQL" for linked server "TEST" returned message "[DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE]Invalid date string (7497)".
Msg 7321, Level 16, State 2, Line 4
An error occurred while preparing the query "SELECT * FROM PUB.TEST 
WHERE Test_Date >= '28 Nov 2018'" for execution against OLE DB provider "MSDASQL" for linked server "TEST". 

Сценарий в источнике OLE DB служб SSIS должен выглядеть следующим образом:

DECLARE @TSQL varchar(8000), @Date varchar(11)
SELECT  @Date = ?
SELECT  @TSQL = 'SELECT * FROM OPENQUERY([TEST], ''SELECT * FROM PUB.TEST
WHERE Test_Date >= ''''' + @Date + ''''''')'
EXEC (@TSQL)

1 Ответ

0 голосов
/ 28 ноября 2018

Изменить скрипт ниже, проблема была с форматом даты

DECLARE @TSQL varchar(8000), @Date varchar(11)
SELECT  @Date = '28-Nov-2018'
SELECT  @TSQL = 'SELECT * FROM OPENQUERY([TEST], ''SELECT * FROM PUB.TEST
WHERE Test_Date >= ''''' + @Date + ''''''')'
EXEC (@TSQL)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...