SQL.XML파일에서 쿼리문 디비호환 관련
- 작성자 :
- 이*찬
- 작성일 :
- 2022-03-11 10:52:53
- 조회수 :
- 1,602
- 구분 :
- 호환성확인
- 진행상태 :
- 완료
Q
현재 간단한 게시판 실습을 진행하고 있습니다.
시퀀스 사용하는 예제를 진행하던 중, 페이지가 뜨지않는 에러가 발생했습니다.
오라클 시퀀스 생성 후, 컨트롤러에서 DB까지 접근하여
(예시)<select>SELECT 'VM-' || LPAD(SEQ_VM_ID.NEXTVAL, 5, 0) FROM DUAL;</select>로 처음엔 해결했습니다.
nextval을 바로 처리하는것보단 currval를 사용하여 값을 보고싶어
시퀀스가 1인 상태에서(nextval한번 해준상태) currval을 사용하여 db상에 1로 출력되는 것을 확인했습니다.
SELECT 'VM-' || LPAD(SEQ_VM_ID.CURRVAL, 5, 0) FROM DUAL;
문제는 디비상에선 CURRVAL가 작동하는데 이클립스상에선 작동을 하지않습니다.(디비 연동된 상태)
디비->시퀀스 생성->SQL.XML에서 NEXTVAL == 성공(페이지 출력)
디비->시퀀스 생성->디비에서 NEXTVAL->디비에서 CURRVAL == 성공(시퀀스 현재값 출력)
디비->시퀀스 생성->디비에서 NEXTVAL->SQL.XML에서 CURRVAL == 실패(페이지 출력되지 않음)
하는 상황입니다.
디비에서는 CURRVAL가 잘 되고, 프레임워크는 NEXTVAL이 사용 가능한데
디비에서 NEXTVAL을 해주고 프레임워크에서 CURRVAL 사용시 에러가 발생합니다.
확인 부탁드립니다.
감사합니다.
시퀀스 사용하는 예제를 진행하던 중, 페이지가 뜨지않는 에러가 발생했습니다.
오라클 시퀀스 생성 후, 컨트롤러에서 DB까지 접근하여
(예시)<select>SELECT 'VM-' || LPAD(SEQ_VM_ID.NEXTVAL, 5, 0) FROM DUAL;</select>로 처음엔 해결했습니다.
nextval을 바로 처리하는것보단 currval를 사용하여 값을 보고싶어
시퀀스가 1인 상태에서(nextval한번 해준상태) currval을 사용하여 db상에 1로 출력되는 것을 확인했습니다.
SELECT 'VM-' || LPAD(SEQ_VM_ID.CURRVAL, 5, 0) FROM DUAL;
문제는 디비상에선 CURRVAL가 작동하는데 이클립스상에선 작동을 하지않습니다.(디비 연동된 상태)
디비->시퀀스 생성->SQL.XML에서 NEXTVAL == 성공(페이지 출력)
디비->시퀀스 생성->디비에서 NEXTVAL->디비에서 CURRVAL == 성공(시퀀스 현재값 출력)
디비->시퀀스 생성->디비에서 NEXTVAL->SQL.XML에서 CURRVAL == 실패(페이지 출력되지 않음)
하는 상황입니다.
디비에서는 CURRVAL가 잘 되고, 프레임워크는 NEXTVAL이 사용 가능한데
디비에서 NEXTVAL을 해주고 프레임워크에서 CURRVAL 사용시 에러가 발생합니다.
확인 부탁드립니다.
감사합니다.
환경정보
-
- OS 정보 : 윈도우10
- 표준프레임워크 버전 : 3.10
- JDK(JRE) 정보 : 1.8
- WAS 정보 : TOMCAT 9.0
- DB 정보 : ORACLE 11G
- 기타 환경 정보 : IBATIS
A
안녕하세요.
표준프레임워크센터 입니다.
기재하신 내용만으로는
센터에서 확인해 드리기 어렵습니다.
커스텀후 수행된 결과를
로그를 확인해 보시고 디버깅을 진행하셔야 할듯 합니다.
로그가 정확하 출력되지 않는경우
다음 로그설정파일에서
/src/main/resources/log4j2.xml
로그레벨을 level="DEBUG"로 맞추시면 도움이 되실듯 합니다.
감사합니다.
표준프레임워크센터 입니다.
기재하신 내용만으로는
센터에서 확인해 드리기 어렵습니다.
커스텀후 수행된 결과를
로그를 확인해 보시고 디버깅을 진행하셔야 할듯 합니다.
로그가 정확하 출력되지 않는경우
다음 로그설정파일에서
/src/main/resources/log4j2.xml
로그레벨을 level="DEBUG"로 맞추시면 도움이 되실듯 합니다.
감사합니다.