반응형
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 |