2008년 06월 03일
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 로 묶어놓으니 드라이버 올리라는 메시지만 매번 내뱉고... ㅡㅡ;;
도대체, 어떤 환경에서 안 되고 어떤 환경에는 되는지 알 수가 없다.
환경설정만 바꾸다가 날아간 하루네... 쩝..
스프링에서 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)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
<bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true">
<property name="nativeJdbcExtractor" ref="nativeJdbcExtractor" />
</bean>
현재 이렇게 lazy-init="true" 를 다 걸고 있는 상태얌..