java.sql.SQLException: 부적합한 열 이름 ==> 쿼리결과에 받는값이 잘못됐을시..(DAO 확인) Post navigation ← value 와 value.length check 시 실수하기쉬운것 form 전송이 제대로 되지 않거나, form 객체를 제대로 인식 못할 때 (찾지 못할 때) →이번에 PIVOT 이라는 좋은 함수를 알게 되어 사용하고 있어요. 같은 SQL 문장인데도 그러네요. --- Check the result mapping for the 'COMMISN_RT2' property. 이렇게 나오네요. SQL문제가 아니여서 이곳에 질문을 해야 될지 모르겠지만.. 어디 도움을 청할때가
없어서... SELECT * 자바에서 사용하는 오라클 SQLException은 두 가지가 있다. 하나는 오라클 데이터베이스에서 발생하는 Exception이 있고 또 하나는 오라클에서 제공하는 JDBC 드라이버에 발생하는 JDBC Exection이 있다. 오라클 JDBC 에러는 모두 17로 시작하는 5자리 숫자다. import java.sql.*;
/** } catch(ClassNotFoundException e){e.printStackTrace();}
try { String sql = "SELECT W.sid, W.sno, W.ino " + ResultSet rs = pstmt.executeQuery(); String sid= rs.getString("sid"); String ino= rs.getString("ino "); <-- ino 다음 블랭크 삽입 System.out.println("SID = " + sid);
} 드라이버가 성공적으로 로드하였습니다. errorcode = 17006 17006은 resultSet에서 getString(컬럼이름) 함수를 호출할 때 컬럼이름이 잘못 코딩되어 발생하는 설명 그대로 Invalid column name 이다. 컬럼명이 대문자든 소문자든 에러를 떨어뜨리지는 않는다. 예전에 oracle jdbc driver 9.x.x.x 가 잘못되어 발생하는 경우도 있었지만 현재 시점으로 14버전이기 때문에 드라이버 잘못도 아니다. Exception의 설명이 짧긴 하지만 설명한 대로다. 단지 SQL문장에 있는 것이 아니라 SQL문장을 핸들링하는 자바 코딩에 문제가 있었던 것이다. 원칙에 충실하자. |