제목은 영어지만 내용은 한국어로
http://viralpatel.net/blogs/java-passing-array-to-oracle-stored-procedure
좋은 샘플 발견해고 코드 수정해서 돌려봤는데…
아무리 해도 응답값이 ARRAY.lengh() == 빵트루
뭐가 잘못된건가 싶어서 할 수 있는 모든코드에 디버깅을 돌려봤지만…
오라클은 디버깅이 안되지…
이런경우가 오랜만이라 쓸데없이 디버깅 하느라 반나절을 날려먹었다.
Solution : http://stackoverflow.com/questions/14998299/oracle-array-filled-with-null-data-in-java
이걸 항상 명심해야하는데말이지
알 수도 없고 디버깅 해도 안되는 오류는… 블랙박스 라이브러리의 버전 문제다.
이 프로젝트에는 오라클 ojdbc14.jar을 쓰고 있었는데
ojdbc6.jar + orai18n 이걸로 교체 해 주니 해결됐다.
코드에는 문제가 없었던걸로…
자바 개발을 하다보면 오픈소스만 쓰다보니 모든걸 직접 디버깅하고 오류를 발견할 수 있으리라는 착각에 빠지게 된다. 라이브러리도 정 맘에안드는 부분은 소스 수정하고 jar 패키징 다시해서 쓰기도 하고 하니까… github forking 해서 쓰기도 하고
오라클이나 SAP 등등 상용툴과 마주하게 되면 다른 개발습관이 필요한데