컴퓨터활용/티맥스

DBIO 에서 VIEW 출력변수 생성 팁

멜번초이 2008. 5. 23. 10:50
반응형

1. 입력값 오류

DBIO 를 작성할 때 VIEW의 출력변수 생성 버튼을 눌렀을 때 아래 그림과 같은 오류 메시지가 나오는 경우가 있다.  이것은 스튜디오의 버그라기 보다는 개발자의 프로프레임 스튜디오 사용법의 미숙함에 기인된다. 

ORA-01840 : 입력된 값의 길이가 날짜 형식에 비해 부족합니다.


사용자 삽입 이미지


DBIO 스튜디오의 view 출력변수 생성시에는 개발자의 편의를 위하여 입력값 자동 설정기능이 있는데 이것을 체크해 놓았을 경우 입력변수에 디폴트 값으로 1 을 세팅하여 SQL을 실행한다. VIEW의 출력변수 생성은 작성된 SQL이 문법적으로 오류가 없는지 수행해 보고 정상동작될 경우 출력변수를 생성해 주는 편의 기능이다.  따라서 원래는 입력변수에 값을 일일이 개발자가 넣어서 실행시켜 주어야 하나 개발자의 편의를 위하여 "입력값자동설정" 기능을 제공하고 있는 것이다.

따라서  이 입력값자동설정 체크를 해제하고 출력변수생성 버튼을 클릭하면 다음과 같이 입력값을 직접 넣을 수 있는 팝업이 뜨게 된다.

사용자 삽입 이미지

기본 세팅 값이 1 로 되어 있는데 이것을 포맷에 맞는 적당한 값을 넣으면 정상 실행 될 것이다. SQL 상에서 포맷이 'YYYYMMDD' 이므로 20080404 와 같은 년월일 모양대로 입력하고 실행하면 오류 없이 출력변수 생성을 할 수 있을 것이다.


2. 수행시간


간혹 SQL 튜닝이 제대로 되지 않아 실행시간이 너무 오래 걸리는 경우  timeout 이 나서 출력변수 생성을 하지 못 하는 경우가 있다. 이런 경우 우선적으로 해야 할 것은 해당 SQL 이 빨리 수행될 수 있도록 튜닝을 하는 것이 우선이다.

그러나 개발 형편상 튜닝을 뒤로 미루고 우선 dbio 부터 작성하고자 한다면 다음과 같은 편법을 이용하여 출력변수를 작성할 수 있다.

출력변수가 FTR_DT, MO_ACNO  두개 라고 가정할 때 다음과 같이 정상 수행될 수 있는 임시 SQL 을 작성하고 이것을 실행하여 출력변수를 먼저 작성할 수 있다.

SELECT '1' FTR_DT, '2' MO_ACNO FROM DUAL

사용자 삽입 이미지

출력변수가 생성이 된 후에 원래의 SQL 을 바꿔서 붙여 넣고 저장을 한다.

(문의) 프레임웍팀 이영균 책임

반응형