cubrid 처음 사용합니다.
java 로 사용 중인데, 샘플 소스를 간단히 정리 하면
try {
conn = CubridConnection.get();
conn.setAutoCommit(false);
String sql = "select name from user where id = ?";
ps = conn.prepareStatement(sql);
ps.setString(1, "abc");
rs = ps.executeQuery();
if (rs.next())
rtn = rs.getString(1);
else
rtn = "null";
} catch (Exception e) {
...
}
과 같습니다.
user 테이블에서 조건에 맞는 데이터가 없으면
cubrid.jdbc.driver.CUBRIDException: Attempt to access a closed ResultSet.
이런 exception 이 발생 하던데요.
검색 해 보니 원래 큐브리드에서 result set 처리 방식이 http://dev.naver.com/projects/cubrid/issue?func=detail&atid=121&aid=2997&group_id=15 문서와 같다는 것은 알았습니다.
위와 같은 코드는 일반적인 코드 인데, 조건에 맞는 데이터 값이 없을 때 처리하는 방법이 없고, exception 으로만 처리해야 한다는 것이 이해가 안 되는데요.
정말 exception 처리 밖에 없는 것인가요?
올려 주신 내용은 이상이 없어 보입니다.
다른 원인에 의한 오류로 보입니다.
실제 오류가 발생하도록 재현 가능한 완전한 소스를 올려주시면 확인해보도록 하겠습니다.
추가로 테스트를 수행한 CUBRID 버전도 함께 알려 주시기 바랍니다.