티스토리 뷰

반응형

배경 설명

파워빌더에서 아래와 같이 SP를 작성시 오버플로우 에러 또는 0 나누기 오류가 발생 할경우 Output 값을 읽어오지 못하는 경우가 발생합니다.

 

해결방법

아래와 같이 Try Catch 문을 사용하면 파워빌더에서 오류 메시지늘 읽어 올 수 있습니다.

 

문제가 발생하는경우

Create Proc SP_Test
  @oRtn_MSG  Varchar(100)  Output 
AS

Declare @Result Int;

Select  @oRtn_MSG = '처리중'

Set @Result = 2147483647 + 1;  -- 오버플로우 발생

Select @oRtn_MSG  = '처리성공'

Return

 

문제 해결한 Code

Create Proc SP_Test
  @oRtn_MSG  Varchar(100)  Output 
AS
BEGIN TRY
	Declare @Result Int;

	Select  @oRtn_MSG = '처리중'

	Set @Result = 2147483647 + 1;  -- 오버플로우 발생

	Select @oRtn_MSG  = '처리성공'
End Try
BEGIN CATCH
    SELECT @oRtn_MSG = ERROR_MESSAGE();
END CATCH

Return
반응형
댓글