Передача параметра службы SSIS в предложение WHERE, в SQL Azure DB - PullRequest
1 голос
/ 24 сентября 2019

В SSIS у меня есть простой запрос источника OLE db, извлекаемый из базы данных SQL Azure и передающий дату в предложение WHERE в виде:

enter image description here

спараметр:

enter image description here

Именно на этом шаге во время выполнения он висит на 5+ минут на Pre-Execute phase is beginning, даже если передается значение datetimeвернет ~ 100 записей.

Однако, если я жестко закодирую дату, чтобы сказать «2019-09-01», она будет выполнена в считанные секунды ...

Как я могу изменить вещи, чтобы сделать этозапустить в разумные сроки?

1 Ответ

1 голос
/ 27 сентября 2019

Поскольку у источника OLE DB могут быть некоторые проблемы с обнаружением данных параметра ype , попробуйте добавить операцию приведения к параметру:

Where [mnDateTimeStamp] >= CAST(? AS Date)

Другой обходной путь

Еслиэто все еще не работает, вы можете создать переменную типа String.И определить выражение для оценки этой переменной.Как пример:

"SELECT * FROM Table Where [mnDateTimeStamp] >= '" + (DT_WSTR,50)@[User::LastRunDateTime] + "'"

Затем из источника OLE DB используйте команду SQL из переменной Variable и выберите эту переменную.

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