OracleLobHandler 삽질기... 진행중... ㅡㅡ;;

대용량 데이터를 저장해야 하는 일이 생겨서 오라클의 Clob 을 사용하기로 했다.

스프링에서 org.springframework.jdbc.support.lob.OracleLobHandler 라는 녀석이 있다.

clob 을 간단하게 스트링을 변환해오는 API 도 있고해서 편하게 사용할 수 있겠구나 싶어서 샘플코드 만들어서 돌아가는것 확인~

별로 다른것도 없이 bean 만들어서 참조만 시켜주면 된다.

해당 샘플을 가지고 실제로 반영을 해 봐도 잘 돌아간다...

문제는 이다음... 서버에 동일한 모듈을 통채로 올렸더니 driver 를 ini 할 때 오류가 발생하면서 제대로 동작을 안 한다.

스프링포럼에도 찾아봤지만 제대로된 답을 아직 못 찾았다.

처음에 오류메시지를 보면 오라클드라이버를 높이라는 익셉션 메시지와 함께 NullPointException 이 발생하는데...

로딩된 라이브러리를 뒤져봐도 보이는건 테스트때 사용했던 jdbc driver 뿐...

혹시나 하는 마음에 드라이버버전을 읽어들여봐도 제대로된 버전표기뿐... ㅠ.ㅠ

아 우울해~

-------------------------

몇시간동안 계속되는 삽질의 연속... 이제 머리가 멍~해

오늘 너무많이봐서 토나올거 같은 에러...

org.springframework.dao.InvalidDataAccessApiUsageException: Couldn't initialize OracleLobHandler because Oracle driver classes are not available. Note that OracleLobHandler requires Oracle JDBC driver 9i or higher!; nested exception is java.lang.NullPointerException

자꾸 오라클 드라이버 올리라는 익셉션만.... ㅠ.ㅠ (오라클 10g 드라이버쓰는데... ㅡㅡ;;; )

소스를 까보면 OracleLobHandler 클래스의 initOracleDriverClasses(Connection con) 라는 메소드에서

con.getClass().getClassLoader().......  클래스로더를 읽어들이다가 NullPointerException 이 발생하는 것으로 보여진다.

이 부분을 try catch 로 묶어놓으니 드라이버 올리라는 메시지만 매번 내뱉고... ㅡㅡ;;

도대체, 어떤 환경에서 안 되고 어떤 환경에는 되는지 알 수가 없다.

환경설정만 바꾸다가 날아간 하루네... 쩝..



by 윤걸 | 2008/06/03 19:57 | Spring | 트랙백 | 덧글(4)

트랙백 주소 : http://gerions.egloos.com/tb/4399552
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 찬욱 at 2008/06/03 15:13
혹시..혹시.. url에 jdbc.Oracle.thin:... 이렇게 사용하시나요? 저도 비슷한 상황이 있었는데.. jdbc.oracle.thin으로 변경해서 하니 되던데..사용하는 환경에 따라서 Oracle을 못알아 차리고, Null예외 던지더라구요..혹시나 해서요^^;
Commented by 윤걸 at 2008/06/03 17:42
ㅎ~ 첨부터 jdbc.oracle.thin 으로 되어 있었어... ㅠ.ㅠ 계속 뒤지고 있는데 답이 안 나오네.. 쩝...
Commented by 기선 at 2008/06/03 22:37
저 빈 설정에 "lazy-init=true" 이거 추가해보세요.
Commented by 윤걸 at 2008/06/04 08:42
<bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor" lazy-init="true" />

<bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true">
<property name="nativeJdbcExtractor" ref="nativeJdbcExtractor" />
</bean>

현재 이렇게 lazy-init="true" 를 다 걸고 있는 상태얌..

:         :

:

비공개 덧글

<< 이전 페이지     다음 페이지 >>