2016-08-05 4 views
0

Я создаю пакет для инкрементной загрузки.Подготовленные утверждения в Oracle для пакета SSIS

Oracle DB Источник =

Destination = MS SQL

, потянув данные из Oracle DB я использую ниже запроса, но он бросает ошибку.

select * from pcarscall1 WHERE [CALLKEY] > ? OR [ModDate] >= ? 

Я знаю, что этот код работает для SQL, что я хочу, эквивалентный запрос для Oracle

+0

Можете ли вы предоставить дополнительную информацию. Что такое сообщение об ошибке? Вы можете запустить запрос непосредственно против Oracle? Вы выполняете этот запрос внутри задачи запроса выполнения SSIS? Каковы типы данных для 'CALLKEY' и' ModDate'? Соответствуют ли типы данных параметров? –

+0

CALLKEY = varchar2 (255 BYTES), MODDATE = date ---- Нет Я выполняю этот запрос в редакторе исходного кода SSIS. Ошибка: ORA-00936: отсутствует. Выражение Да. Типы данных параметров совпадают. Я могу загрузить, если я указываю точную дату, но я хочу использовать подготовленные заявления –

ответ

2

Если я правильно помню, квадратные скобки, имена столбцов являются конкретным расширением MS SQL (требуется только для столбца ключевых слов имена или имена с пробелами) и не распознаются Oracle. Попробуйте без квадратных скобок:

select * from pcarscall1 WHERE CALLKEY > ? OR ModDate >= ? 
+0

Получение ошибки ORA-00904: «?» : недопустимый идентификатор –

+0

Не уверен, что произошло, он снова начал работать. Спасибо –

Смежные вопросы