일단 JDBC 문제에 대한 해답은 아니고 resultset.next() 를 100번을 해주신다고 하니 그것을 해결할 방법에 대한 제안을 할까 합니다. transaction 을 이용하면 어떨까요. transaction 에서 create cursor 로 일단 cursor 를 선언하시고, fetch 명령어로 원하는 만큼 이동하시는 것이 훨씬 메모리도 적게 먹고 더 효율적일 것이라고 생각합니다.
>>김교식 님께서 쓰시길<<
:: 안녕하세요?
::
:: 최근에 시험해본 건데요..드라이버 커넥션 이후 createStatement(int,int)함수가
:: 동작을 안하네요..이건 jdbc 2.0 규격에 공식 지원하기로 되어 있는 것인데..어쩐
:: 일인지 postgresql은 이 함 수를 지원하지 않네요..
::
:: 이 함수로 만들어진 statement 객체만이 resultset의 타입을 지정해줄 수 있거든요.
::
:: 그렇기 때문에..resultset의 일부 함수들( absolute(int)등이 동작을 하지
:: 않는 군요..저는 쿼리 결과 안에서 특정 row의 번호로 직접 이동해야 하는
:: 경우가 많은 데..지금은 완전 무식한 방법/ while(i++ <= 100) resultset.next();
:: 을 쓰고 있습니다.
::
:: 혹시 이 문제가 해결된 최신의 postgresql jdbc 2.0 드라이버 있는 곳 아시는 분
:: 계시면 좀 알려 주십시오. 아니면 위에 처럼 무식한 방법 말고 또 다른 편법을
:: 알고 있는 분 계시면 좀 알려 주십시오..
::
:: 감사합니다.
|