Oracle에서 MSSQL insert 시 특정 컬럼 데이터 swap 현상
- 작성자 :
- 이*원
- 작성일 :
- 2024-06-24 12:38:25
- 조회수 :
- 522
- 구분 :
- 개발환경 / 3.1
- 진행상태 :
- 완료
Q
서버에 올라간 전자정부 프레임워크에 연결된 DB는 Oracle(11g)입니다. 근데 문자 발송이 필요하여 문자 발송 관련 DB는 SQL Server2019(MSSQL)이라서 Oracle에서 DB link를 이용하여 연결하였습니다.
그런데 Oracle DB에는 모든 데이터가 정상적으로 담겨있는데, SQL Server에서 메세지 내용을 담는 컬럼과 한 컬럼이 계속 swap돼서 데이터가 insert 됩니다.
log에 찍힌 쿼리를 그대로 developer에서 실행해보면 정상 insert가 되는데, web화면에서 버튼을 눌러서 insert를 하면 왜 이상하게 값이 들어갈까요..
어떤 부분을 봐야할지 힌트가 될 만한 부분이 있을까요?
insert 쿼리, insert 로그 모두 데이터와 컬럼 하나씩 직접 비교하였고, 개발계에서는 select 쿼리도 정상적으로 조회됐는데 운영계에서는 ORA-00997:LONG 데이터 유형은 사용할 수 없습니다. 오류가 발생합니다... DB설정이 문제일까요?
그런데 Oracle DB에는 모든 데이터가 정상적으로 담겨있는데, SQL Server에서 메세지 내용을 담는 컬럼과 한 컬럼이 계속 swap돼서 데이터가 insert 됩니다.
log에 찍힌 쿼리를 그대로 developer에서 실행해보면 정상 insert가 되는데, web화면에서 버튼을 눌러서 insert를 하면 왜 이상하게 값이 들어갈까요..
어떤 부분을 봐야할지 힌트가 될 만한 부분이 있을까요?
insert 쿼리, insert 로그 모두 데이터와 컬럼 하나씩 직접 비교하였고, 개발계에서는 select 쿼리도 정상적으로 조회됐는데 운영계에서는 ORA-00997:LONG 데이터 유형은 사용할 수 없습니다. 오류가 발생합니다... DB설정이 문제일까요?
환경정보
-
-전자정부 프레임워크
-Oracle 11g
-MSSQL(SQL Server 2019)
-Apache Tomcat 9.0
A
안녕하세요
표준프레임워크센터입니다.
첫번째 질문은 기재 해주신 내용만으로는 자세한 설명을 드리기 어렵습니다.
확인을 위해 DBLink를 통해서가 아닌
각 데이터베이스에 직접 데이터를 주입하여 문제가 없는지 확인해보시기 바랍니다.
두번째 질문의 경우 ORA-00997 오류로 보아
DBlink로 인해 Oracle의 테이블이 복사가 되었으나 Long타입의 문제로 에러가 난 상황으로 추측됩니다.
Oracle 공식문서(https://docs.oracle.com/cd/A58617_01/server.804/a58241/ch5.htm#418225)에 따르면
Oracle 에서는 Long 및 Long Raw 열에 대한 복제를 제한하고 있기에
다른 DB가 사용되는 Insert시점에 Long타입의 컬럼을 Lob 타입으로 변경하여 사용해보시기 바랍니다.
감사합니다.
표준프레임워크센터입니다.
첫번째 질문은 기재 해주신 내용만으로는 자세한 설명을 드리기 어렵습니다.
확인을 위해 DBLink를 통해서가 아닌
각 데이터베이스에 직접 데이터를 주입하여 문제가 없는지 확인해보시기 바랍니다.
두번째 질문의 경우 ORA-00997 오류로 보아
DBlink로 인해 Oracle의 테이블이 복사가 되었으나 Long타입의 문제로 에러가 난 상황으로 추측됩니다.
Oracle 공식문서(https://docs.oracle.com/cd/A58617_01/server.804/a58241/ch5.htm#418225)에 따르면
Oracle 에서는 Long 및 Long Raw 열에 대한 복제를 제한하고 있기에
다른 DB가 사용되는 Insert시점에 Long타입의 컬럼을 Lob 타입으로 변경하여 사용해보시기 바랍니다.
감사합니다.