2017-02-21 43 views
1

Попытка настроить мое решение в следующей ссылке для обработки параметра CLOB OUT Param. Каким будет тип returnType для обработки оракулов? Я не видел ссылки на него в документации, кроме обработки ловушек.Сохраненная процедура OutBound Gateway Тип возврата для Oracle Clobs?

Previous Question - Handling OUT Array Params

<bean id="clobSqlReturnType" class=org.springframework.integration.jdbc.storedproc.?></bean> 


<int-jdbc:stored-proc-outbound-gateway 
    id="outbound-gateway-function-dbms" request-channel="procedureDBMSRequestChannel" 
    data-source="dataSource" 
    is-function="true" 
    stored-procedure-name="get_dbms_output2" 
    expect-single-result="true"> 
    <int-jdbc:sql-parameter-definition name="c1" type="CLOB" type-name="" direction="OUT" return-type="clobSqlReturnType" />  
</int-jdbc:stored-proc-outbound-gateway> 

ответ

0

Там нет решения вне коробки. Вы должны сделать что-то самостоятельно. Например:

public class ClobSqlReturnType implements SqlReturnType { 

    @Override 
    public Object getTypeValue(CallableStatement cs, int paramIndex, int sqlType, String typeName) throws SQLException { 
     Clob clob = cs.getClob(paramIndex); 
     return clob != null ? clob.getSubString(1, (int) clob.length()) : null; 
    } 
} 
+0

Спасибо, что я думал. Я видел вашу тестовую процедуру шлюза с образцом кода, используя ее, и не был уверен, что это не то, что уже существовало в объявлении типа. – haju