컴퓨터 프로그래밍/.NET Programming

ORA-20002 Message 20002 not found; product = RDBMS; facility=ORA 윈도우 서버 세팅 시 오라클 DB 사용자 정의 에러 메시지 출력 오류

회계하는 프로그래머 2021. 4. 19. 16:37

원인

 

.NET Windows 서버와 oracle DB를 사용할 경우 마주치는 에러메시지이다.

 

.net framework 기반의 윈도우 서버를 사용하는 시스템과  oracle db의 분산트랜잭션 처리를 위해

 

oramts(Oracle Services For Microsoft Transaction Server) 를 Oracle client 설치시 추가로 설치하게 되는데

 

해달 모듈에서 12c  client(웹서버의 오라클 클라이언트) 이상버전부터 20000~29999 의 사용자 정의 에러에 대한 에러메시지 출력을 제대로 하지 못하고

 

제목과 같은 에러 메시지를 띄운다.

 

일반적으로 pl-sql을 많이 사용하는 시스템에서 프로시저나 function에 해놓은 예외처리에서 해당 메시지를 보게 될 것이다.

 

 

 

해결책

 

 

ORAMTS_SESS_REGISTERUCB 환경변수를  false로 설정해주면해결된다. (애초에 기본값이 왜 false가 아닌지 모르겠다...)

 

 

스크린샷은 서버가 아닌 로컬에서 찍었다.. 

 

서버 환경이라고 다를 것은 없다. 

 

제어판->시스템 및 보안 -> 시스템 창을 띄운다 ( 내 pc 우클릭 -> 속성 눌러도 뜬다)

 

 

환경변수 버튼을 클릭한다.

 

새로 만들기 버튼을 클릭 
확인을 눌러서 등록 해 준 후 서버를 재부팅 해주면 해결된다.