Q&A

  • 오라클 프로시져 실행시 Capability not supported. 에러
오라클 프로시져를 실행해서 결과값을 받는 부분이 있습니다.

프로시져를 동적으로 지정하고 프로시져에 Input 값을 넣고 실행하면 결과값을 받아오게 되는데
결과값이 255글자이내일 경우에는 정상적으로 동작하는데 255글자를 넘기면
      "PL/SQL: 수치 또는 값 오류
      ORA-06512: "'P_TEST_01'", 줄 25에서
      ORA-06512: 줄 1에서.."
라고 오류가 나더군요.

그래서 ftString을 빼고 ftMemo를 사용했더니 이번에는
     "Capability not supported"
라는 오류가 뜹니다.

여러가지 방법을 해봤지만 해결책이 안보이네여...

정녕 255글자를 넘는 결과값은 받을 수 없는걸까요?


델파이 소스 부분(D5)
<!--CodeS-->
  with DM.spTmp do begin
    Close;
    Params.Clear;
    StoredProcName := 'P_TEST_01';
    Params.CreateParam(ftString,'iBARCODE',    ptInput );
    Params.CreateParam(ftString,'oRESULT',     ptOutput);
    Params.Items[00].AsString := '1234567890';
    Params.Items[01].AsString := '';
    try
      Prepare;
      ExecProc;

      lsResult := Params.Items[01].AsString;

      Close;
    except
      on E: Exception do begin
        Error_Log_Write(E.Message);
        Close;
      end;
    end;
  end;
<!--CodeE-->

오라클 프로시져 부분(9i)
<!--CodeS-->
  create or replace procedure P_TEST_01
  (
    iBARCODE     in  varchar2
   ,oRESULT01    out varchar2
  ) is  
<!--CodeE-->

0  COMMENTS