Я пытаюсь вызвать функцию базы данных оракула. Входные данные представляют собой CLOB, а выходные данные представляют собой строковое значение (статус). Вот код: полезная нагрузка — это Clob.
<jdbc-ee:outbound-endpoint exchange-pattern="request-response" queryKey="UpdateError" queryTimeout="-1" connector-ref="DatabaseNCS" doc:name="Database">
<jdbc-ee:query key="UpdateError"
value="Call #[output;string;out] := dbpk_bxf_media.track_pse_errors(#[message.payload])"/>
</jdbc-ee:outbound-endpoint>
Я не получаю ожидаемого результата "ОК". Это работает без проблем, когда я пишу собственный код Java. Вот выходной журнал (обратите внимание, что вывод ORA-22922: несуществующее значение LOB): я хотел бы знать, что я делаю неправильно, и как решить эту проблему. Спасибо!
CallableSqlCommandExecutor: SQL: { Call ? := dbpk_bxf_media.track_pse_errors(?) } input params: [oracle.sql.CLOB@1fbb2176] CallableSqlCommandExecutor: Registering output parameters for: { Call ? := dbpk_bxf_media.track_pse_errors(?) } CallableSqlCommandExecutor: Executing: { Call ? := dbpk_bxf_media.track_pse_errors(?) } CallableSqlCommandExecutor: Command executed successfully: { Call ? := dbpk_bxf_media.track_pse_errors(?) } CallableSqlCommandExecutor: Processing resultSets for: { Call ? := dbpk_bxf_media.track_pse_errors(?) } CallableSqlCommandExecutor: Processed resultsets: 0 CallableSqlCommandExecutor: Processing output parameters for: { Call ? := dbpk_bxf_media.track_pse_errors(?) } ExecuteSqlStatementStrategy: Obtained result: {output=ORA-22922: nonexistent LOB value}