반응형
HikariCP pass Oracle 사용자 지정 유형
Oracle 기본 데이터 소스에서 HikariCP로 전환했습니다.저장된 매개 변수에 맞춤형 Oracle 유형을 전달하고 캐스트하는 코드 조각이 있습니다.java.sql.Connection
로.oracle.jdbc.OracleConnection
.
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
.
HikariCP를 사용하여 Oracle 사용자 지정 유형을 저장 프로시저에 전달하려면 어떻게 해야 합니까?
풀에서 얻는 것은 프록시 연결입니다.기본 오라클 연결에 액세스하려면 isWrapperFor()와 함께 unwrap()을 사용해야 합니다.
try (Connection hikariCon = dbConnect.getConnection()) {
if (hikariCon.isWrapperFor(OracleConnection.class)) {
OracleConnection connection = hikariCon.unwrap(OracleConnection.class);
:
:
}
그러나 예제에서 Oracle Connection이 특정한 메서드는 무엇입니까? 캐스트할 필요가 전혀 없을 수도 있습니다!
언급URL : https://stackoverflow.com/questions/40087536/hikaricp-pass-oracle-custom-type
반응형
'prosource' 카테고리의 다른 글
MariaDB는 'view' 테이블에서 datetime 필드로 필터링할 때 빈 집합을 반환하는 반면 MySQL(및 base view sql)은 정상적으로 작동합니다. (0) | 2023.10.10 |
---|---|
작은 int를 부울 최대 절전 모드로 매핑 (0) | 2023.10.05 |
데이터베이스 정상 양식이란 무엇이며 예를 들어 줄 수 있습니까? (0) | 2023.10.05 |
Angular 5는 일부 클래스에서 'ng-star-inserted'를 추가합니다. - 그게 뭐죠? (0) | 2023.10.05 |
PHP에서 워드프레스 숏코드 스타일 함수를 만드는 방법 (0) | 2023.10.05 |