Попытки решения аналогичных вопросов по SO, но без кубиков.
В рамках задачи потока данных мне нужно вызвать Oracle SP, который принимает два входных и один выходной параметры, и назначить возвращенное значение столбцу вflow.
Подпись Oracle 11g SP:
SM_GET_VALUE_PR (
v_emplid IN VARCHAR2,
v_strm IN VARCHAR2,
v_admit_type OUT NUMBER)
В своей задаче потока данных я добавил компонент Команды OLE DB, установил соединение и попытался использовать
EXEC SM_GET_VALUE_PR ?, ?, ? OUTPUT
как SQLCommand
Первая проблема заключается в том, что параметры не создаются автоматически для отображения, поэтому я вручную добавил три столбца в область внешних столбцов в компоненте.
Когдапытаясь запустить поток данных, я получаю неверный оператор SQL.Я также попытался использовать {call SM_GET_VALUE_PR ?,?,? OUTPUT}
безуспешно.
У меня есть драйверы MSORA и ORAOLEDB, оба отказывают, хотя MS отказывают во время разработки, в то время как Oracle отказывают до запуска.
Редактировать: я пробовал: - ВЫЗВАТЬ SMCUBE.SM_GET_ETHNICITY_PR?,?,?OUTPUT [Команда OLE DB [855]] Ошибка: код ошибки служб SSIS DTS_E_OLEDBERROR.Произошла ошибка OLE DB.Код ошибки: 0x80040E14.Доступна запись OLE DB.Источник: "OraOLEDB" Hresult: 0x80040E14 Описание: "ORA-00900: недопустимый оператор SQL".- EXEC SMCUBE.SM_GET_ETHNICITY_PR?,?,?ВЫХОД То же сообщение об ошибке
Полагаю, я надеюсь, что кто-то скажет: «Я использовал параметризованные хранимые процедуры в SSIS, указывающие на Oracle, и это правильный синтаксис xxxx»