Использование параметров Vertica в SSIS - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть запрос, который извлекает набор данных на основе параметров START DATE и END DATA, используемых в Vertica.

Вот фильтр в запросе vertica:

где list.transaction_date между: start_date и: end_date

Как мне обработать это в поле «Текст команды SQL:» для подключения ODBC SSIS?

1 Ответ

0 голосов
/ 30 апреля 2018

При использовании драйвера ODBC вы указываете параметры с помощью ?, который является порядковой системой, основанной на одном элементе https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2012/ms140355(v=sql.110)

Ваш файлер станет чем-то вроде

where list.transaction_date between ? and ?

А затем на вкладке «Параметр» задачи «Выполнение SQL» или нажмите кнопку «Параметр» в источнике ODBC и подключите имя параметра 1 к @ [User :: MyStartDate] и имя параметра 2 к @ [User :: MyEndDate]

Предполагается, что у вас есть две переменные служб SSIS с именами MyStartDate и MyEndDate. Вопрос в 64 тысячи долларов: какой это тип данных? Я понятия не имею. В лучшем случае вы можете использовать тип данных Date / Datetime в SSIS, а драйвер ODBC может преобразовывать форматы между ними. Менее удачным случаем является то, что ваши переменные становятся строками, и вы должны манипулировать ими в допустимые значения для Vertica.

Абсолютный наихудший случай: вы не можете параметризовать инструментальные средства, и вам вместо этого нужно создать динамическую строку с помощью выражений, совместимых со значениями и синтаксисом Vertica.

...