Я переключился на HikariCP из Oracle datasource. Существует фрагмент кода, в котором я передаю пользовательский тип Oracle в сохраненный параметр и литой java.sql.Connection
в oracle.jdbc.OracleConnection
.HikariCP pass Пользовательский тип Oracle
try(OracleConnection connection = (OracleConnection) dbConnect.getConnection()) {
try(CallableStatement callableStatement = connection.prepareCall("{? = call pkg_applications.add_application(?,?,?)}")) {
callableStatement.registerOutParameter(1, Types.VARCHAR);
callableStatement.setString(2, form.getPolicyNumber());
callableStatement.setString(3, form.getPolicyStart());
Object[][] uploads = new Object[wrappers.size()][];
for(int i=0; i<wrappers.size(); i++) {
uploads[i] = new Object[4];
uploads[i][0] = wrappers.get(i).getName();
uploads[i][1] = wrappers.get(i).getFile().getContentType();
uploads[i][2] = wrappers.get(i).getFile().getSize();
uploads[i][3] = wrappers.get(i).getLocation();
}
callableStatement.setArray(4, connection.createARRAY("T_UPLOAD_FILE_TABLE", uploads));
callableStatement.execute();
int applicationId = callableStatement.getInt(1);
operationResponse.setData(applicationId);
operationResponse.setCode(ResultCode.OK);
}
}
catch(Exception e) {
log.error(e.getMessage(), e);
}
Я получаю java.lang.ClassCastException - com.zaxxer.hikari.pool.HikariProxyConnection cannot be cast to oracle.jdbc.OracleConnection
.
Как я могу передать пользовательские типы Oracle в хранимую процедуру с использованием HikariCP?
Мне нужно передать пользовательский тип T_UPLOAD_FILE_TABLE, который является таблицей другого настраиваемого типа. Можете ли вы отправить ссылку на документы HikariCP, где я могу ее найти? Как передать пользовательский тип оракула в хранимые процедуры с помощью HCP? – 0bj3ct
Вы пытались удалить бросок? Если вы не выбрали, делает connection.createARRAY («T_UPLOAD_FILE_TABLE», загружает)); бросает исключение? Если это так, попробовали ли вы использовать разворот? Ищите документацию OracleConnection, если вам нужно что-то более конкретное. HTH – Nitin
Это решило мою проблему. Я не мог использовать без броска, он бросает «java.sql.SQLException: Неподдерживаемая функция». Но развёртывание HikariProxyConnection выполнило эту работу! Спасибо тебе, друг! – 0bj3ct