목록DB (4)
코드 짜는 티모
ORACLE 문자열 길이 찾기 오라클에서 문자열의 길이를 찾기 위해서는 LENGTH를 사용한다. LENGTH : 문자열의 글자 수 LENGTHB : 문자열의 바이트 수 (시스템의 charset에 따라 한글을 1글자당 2byte OR 3byte 일 수 있다.) SELECT LENGTH('오라클') , LENGTH('오라클 SQL') , LENGTHB('오라클') , LENGTHB('오라클 SQL') FROM dual LENGTH('오라클') : 3 LENGTH('오라클 SQL') : 7 LENGTHB('오라클') : 9 LENGTHB('오라클 SQL') : 13 ORA-01704: 문자열이 너무 깁니다 라는 오류를 보게되면 들어온 값이 선언되어있는 사이즈보다 클 수 있으니 체크 후 값을 잘라서 insert..
자바 로직단에서 JDBC붙이고 executequery든 executeupdate를 사용해서 DB의 row를 DML하는 경우가 있을 것이다. 자바에서 String sql = "update emp set update_date = sysdate where name = '티모'"; 이 쿼리를 실행하려고 한다. emp테이블에서 티모라는 name을 가진 로우의 update_time의 값을 현재날자(sysdate)로 바꾸는 쿼리이다. 쿼리에는 문제가 없어보이며 execute해도 emp테이블의 조건에 맞는 row는 update가 쳐질것이다. 여기서 내가 겪은 너무 간단하지만 이유를 몰랐던 바보같았던 실수가 있다. udpate를 쳤는데 db의 날짜가 시분초가..
ORA-00911:문자가 부적합 합니다. spring에서 ibatis든 mybatis든 xml파일에 열심히 쿼리문짜고선 잘도는 쿼리문인데도 이런 로그를 띄울때가 잇음.. 정말 간단한 쿼리문에서도 이런 에러로그를 띄움.... 다른 경우도 있는지는 잘 모르겠는데 보통 sql문 마지막에 습관적으로 " ; " 붙이면 에로로그가 뽷뜸. 예를들어 12select sysdatefrom dual; 이런식으로 하면 마지막에 작성된 ; 때문에 신나는 에러로그를 발생시킨다. 그냥 12select sysdate from dual 이렇게만 작성. 내 경우엔 나름 쿼리문이 길어서 뭔 문자가 부적합한지 열심히 하나하나 보다가 마지막에 ; 확인하고선 너무 기뻐서 노트북 닫음ㅎㅎ 멍청
ORA-00942: 테이블 또는 뷰가 존재하지 않습니다 123451. 테이블이 존재하는지 확인2. 테이블이 존재한다면 데이터가 있는지 확인3. Java에서 작성한 SQL문이 잘못되지 않았는지 확인4. Connection 객체가 접근하는 테이블이 잘못 된 게 아닌지 확인5. Java에서 만들어진 Connection 객체가 SELECT, DELETE, INSERT 권한이 있는지 확인cs 크게 이러한 조건들로 나뉘는다 함 sql문에서 table명 잘못 작성한지도 모르는 바보아니면 권한문제일 경우가 큼 스프링에서 보통 context_datasource.xml 에다가 DB 붙이는데 여기에서 쿼리에서 사용할 테이블명에 접근할 권한 있는 DB사용자로 로그인설정 변경!(권한없는 계정으로 붙인줄도 모르고 2시간동안 고통..