Mybatis에서 디아모 오라클 암호화 테이블 적용 후 오류 발생
- 작성자 :
- 양*식
- 작성일 :
- 2018-02-23 17:57:18
- 조회수 :
- 3,985
- 구분 :
- 운영환경
- 진행상태 :
- 완료
Q
사용환경 :
전자정부프레임워크 버젼 3.6
JDK 1.8, TOMCAT 7
문제점
개발완료 후 개인정보를 DB암호화 툴인 D'amo를 이용하여
Table를 CRUD가 가능한 View로 변경후
ORA-22816 에러 발생.
원인해결을 위한 분석
1. 동일한 환경에서 JDBC를 직접 연결하여 Insert 테스트 진행 => 성공
(테스트 SQL : insert TB_TEST (C_AAA) values ('홍길동');)
단. TB_TEST는 암호화가 걸린 view 테이블임.
2. gGovFrame워크의 Mybatis를 통해서
위와 동일한 Insert 테스트 진행 => 오류 발생
(테스트 SQL : insert TB_TEST (C_AAA) values ('홍길동');)
단. TB_TEST는 암호화가 걸린 view 테이블임.)
오류코드는 ORA-22816 에러 발생.
정확한 원인 파악이 안되는 군요.
전자정부프레임워크 버젼 3.6
JDK 1.8, TOMCAT 7
문제점
개발완료 후 개인정보를 DB암호화 툴인 D'amo를 이용하여
Table를 CRUD가 가능한 View로 변경후
ORA-22816 에러 발생.
원인해결을 위한 분석
1. 동일한 환경에서 JDBC를 직접 연결하여 Insert 테스트 진행 => 성공
(테스트 SQL : insert TB_TEST (C_AAA) values ('홍길동');)
단. TB_TEST는 암호화가 걸린 view 테이블임.
2. gGovFrame워크의 Mybatis를 통해서
위와 동일한 Insert 테스트 진행 => 오류 발생
(테스트 SQL : insert TB_TEST (C_AAA) values ('홍길동');)
단. TB_TEST는 암호화가 걸린 view 테이블임.)
오류코드는 ORA-22816 에러 발생.
정확한 원인 파악이 안되는 군요.
A
안녕하세요.
보통 마이바티스 사용시 ORA-22816에러는 selectkey 옵션에서 insert pk값을 받아 올때 종종 나오는 에러입니다.
그런데 문의하신 내용은 암호화 기능이 추가된 경우여서 암호화 기능과 무관한지 테스트하셔야 합니다.
먼저 암호화 모듈과 무관하게 마이바티스 문제일 경우가 있으니,
암호화가 적용되지 않은 viewtable을 사용하여 Mybatis로 insert로 테스트를 하시고,
만약 정상적으로 insert가 된다면 암호화 기능과 마이바티스와 문제가 발생하기에 제조사에 문의 하셔야 하며,
그래도 문제가 발생하시면 mybatis의 문제로 보이며,
mybatis사용시 insert후 PK값을 받아오는 selectkey 또는 별도 쿼리가 있는지 확인 하시기 바랍니다.
감사합니다.
보통 마이바티스 사용시 ORA-22816에러는 selectkey 옵션에서 insert pk값을 받아 올때 종종 나오는 에러입니다.
그런데 문의하신 내용은 암호화 기능이 추가된 경우여서 암호화 기능과 무관한지 테스트하셔야 합니다.
먼저 암호화 모듈과 무관하게 마이바티스 문제일 경우가 있으니,
암호화가 적용되지 않은 viewtable을 사용하여 Mybatis로 insert로 테스트를 하시고,
만약 정상적으로 insert가 된다면 암호화 기능과 마이바티스와 문제가 발생하기에 제조사에 문의 하셔야 하며,
그래도 문제가 발생하시면 mybatis의 문제로 보이며,
mybatis사용시 insert후 PK값을 받아오는 selectkey 또는 별도 쿼리가 있는지 확인 하시기 바랍니다.
감사합니다.