JDBC вызов хранимой процедуры оракула с содержит определенные пользователем типы таблиц - PullRequest
0 голосов
/ 21 февраля 2019

Привет, я использую userdefinedtypes в oracle в своей хранимой процедуре. Я хочу вызвать так, и эта работа для userdefinedtype, но когда я хочу сделать это для типа type или таблицы userdefined, в этот раз это не удастся. Может ли кто-нибудь поделиться примером для вызоваХранимая процедура, которая содержит тип таблицы (например, массив)

для одного TYPE_SPRINGBOOT_TEST, она работает для TABLE, она терпит неудачу

SimpleJdbcCall testCall = new SimpleJdbcCall(new JdbcTemplate(connProvider.getDataSource()))
                .withSchemaName("MYSCHEMA")
                .withProcedureName("SP_SPRINTBOOT_TEST")
                .declareParameters(

 IN params
                                new SqlParameter("pn_input1", NUMBER),
                                new SqlParameter("ps_input2", VARCHAR),

                                // OUT params
                                new SqlOutParameter("pn_output1", NUMBER),
                                new SqlOutParameter("ps_output2", VARCHAR),
                                new SqlOutParameter("pt_output3", STRUCT, "TYPE_SPRINGBOOT_TEST", new SqlReturnSqlData(SQL_TESTOUTPUT.class))
                                new SqlOutParameter("pt_output3", STRUCT, "TYPE_SPRINGBOOT_TEST", new TestOutputHandler())
                        );

        TYPE_SPRINGBOOT_TEST output = (TYPE_SPRINGBOOT_TEST)(testCall.execute(28L,"Test Input").get("pt_output3"));
...