Oracle 패키지를 가져오지 않고 JAVA에서 REF 커서를 수락하는 방법
문제
데이터베이스 연결을 위해 JDBC를 사용하여 JAVA 프로그램을 작성 중입니다. ORACLE REF CURSOR를 반환하는 저장 프로시저 하나를 호출하고 있습니다. ORACLE PACKAGES를 가져오지 않고 이를 처리할 수 있는 방법이 있습니까?
해결책
제 생각에는 얼마 전에 이 작업을 시도하다가 포기한 것 같습니다(OracleTypes.REF_CURSOR의 int 값이 무엇인지 알아낸 다음 해당 int 값을 사용할 수 있지만 그건 해킹입니다).인내심이 있다면 레코드(또는 개체) 유형을 정의하고 커서를 유형이 있는 커서로 정의할 수 있습니다. 이는 테이블을 사용하여 일반 테이블처럼 선택 가능한 값으로 캐스팅할 수 있기 때문입니다.
select * from table( sp_returning( ? ) )
참조 커서와 jdbc에 대해 빠르게 Google을 검색했는데 데이터에 액세스하는 표준 방법이 없는 이유를 설명하는 Oracle 확장인 것처럼 보입니다.
다른 팁
행위
select * from table( sp_returning( ? ) )
참조 커서를 반환하는 것보다 느립니다.
C#과 함께 참조 커서를 사용할 수 있는데 Java에서는 왜 사용할 수 없나요?나는 많은 예가 있다고 확신합니다.
제휴하지 않습니다 StackOverflow