Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Probleme mit Spring SimpleJdbcCall zum Aufrufen der Oracle-Funktion

Es scheint, dass Sie einen falschen Methodenaufruf verwenden:Ihr Code:.withProcedureName("MYFUNCTION")[..] sollte durch .withFunctionName[...] ersetzt werden

Hier ist ein einfaches Beispiel für einen ganzen Funktionsaufruf:

JdbcTemplate jdbc = new JdbcTemplate(txManager.getDataSource());
    SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbc)
            .withCatalogName("p_adm_www")
            .withFunctionName("fn_usr_get_login_sequence")
            .declareParameters(new SqlOutParameter("RETURN", OracleTypes.NUMBER))
            .withoutProcedureColumnMetaDataAccess();
    jdbcCall.setAccessCallParameterMetaData(false);
    BigDecimal returnId = jdbcCall.executeFunction(BigDecimal.class, null);
    return returnId.longValue();