[ERROR] JDBC java.sql.SQLException 에러

## java.sql.SQLException: 인덱스에 IN 또는 OUT 매개변수가 없음 :: 30

==>
PreparedStatement에서 매개변수의 숫자가 맞지 않은경우이다.



setString(30, "aaa); 와 같이 30번에 대한 setXXX()가 없는 경우.









## ORA-01006: 바인드 변수가 없습니다.

PreparedStatement에서 ?의 개수보다 setXXX()의 개수가 더 많은 경우







## java.sql.SQLException: ORA-01008: 일부 변수가 결합되지 않았습니다.

? 의 개수만큼 pstmt.setXXX() 를 수행하지 않아서 나는 에러임







## java.sql.SQLException: ORA-00904: 열명이 부적합합니다

select 나 insert 하는 컬럼명이 잘못된 경우..









## java.sql.SQLException: ORA-00913: 값의 수가 너무 많습니다

입력할려는 칼럼의 갯수가 values () 란 안의 데이터 갯수보다 모자랄때 생기는 에러

ex) insert into aaa (val1, val2) values(?, ?, ?)





## ORA-01438: 지정한 정도를 초과한 값이 열에 지정되었습니다

CHAR 10 에 20자리의 문자를 넣는 경우..







## java.sql.SQLException: ORA-01000: 최대 열기 커서 수를 초과했습니다

while 안에 rs 가 있는 경우 rs를 close 해야 한다.

ResultSet rs = null;

while (it.hasNext()) {
rs = stmt.executeQuery(sql);

while(rs.next()){

} // while 2

// 꼭 rs 를 close 하자
try{rs.close(); rs = null;}catch(Exception e){}
} // while 1






ORA-00932: 데이터 유형이 일치하지 않습니다
==> int 컬럼에 String을 선언한 경우


ORA-01722: 수치가 부적합합니다
http://blog.naver.com/hschoi82?Redirect=Log&logNo=20027341968

문자인데 숫자처럼 썼다던가(비교했다던가)
숫자인데 문자처럼 썼다던가 했을 경우 생긴다.

또는 문자에 Null이거나 공백이 있는데 숫자형식으로 바꾼경우..
이 경우는 Trim을 시켜준다.

NVL명령어는 형이 같아야 한다.







//======================= 공간 연산 ==============================



## USER_SDO_GEOM_METADATA 테이블을 읽는 데 실패했습니다
==> user_sdo_geom_metadata 추가 및 공간 인덱스를 확인한다.











## java.sql.SQLException: ORA-29875: ODCIINDEXINSERT 루틴을 수행하는 곳에 실패가 있습니다
ORA-13365: 층 SRID가 도면 SRID와 일치하지 않음
ORA-06512: "MDSYS.SDO_INDEX_METHOD_9I", 줄 319에서
ORA-06512: 줄 1에서



==> user_sdo_geom_metadata.SRID 컬럼과 일치해야 한다.
입력된 SRID와 insert 시의 SRID를 동일하게 ..
오라클에서는 8307이 WGS84 이다.









## java.sql.SQLException: ORA-13050: 스페이셜 객체를 구성할 수 없습니다
ORA-06512: "MDSYS.SDO_3GL", 줄 41에서
ORA-06512: "MDSYS.MD2", 줄 726에서
ORA-06512: "MDSYS.SDO_GEOM", 줄 2950에서
ORA-06512: "MDSYS.SDO_GEOM", 줄 2977에서


==>
1. Data 가 유효한지 확인을 하라..

SELECT SDO_GEOM.VALIDATE_GEOMETRY(a.coordinate, 0.005) valid
FROM PMI_apa_1 a


SELECT SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(a.coordinate, 0.005) valid
FROM PMI_apa_1 a ;



2. 저장된 데이터의 Dimension(GTYPE)이 요청 Dimension 이랑 같은지 확인!!!
SELECT a.coordinate FROM PMI_apa_1 a ;


3. 컬럼이 null 인지 확인한다.
null 인경우 공간 인덱스를 사용 할 수 없다.

댓글

이 블로그의 인기 게시물

[LINUX] CentOS 부팅시 오류 : UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY

[MSSQL] 데이터베이스가 사용 중이어서 배타적으로 액서스할 수 없습니다

구글코랩) 안전Dream 실종아동 등 검색 오픈API 소스를 공유합니다. (구글드라이브연동, 이미지 수집 소스)