오라클 프로시져를 실행해서 결과값을 받는 부분이 있습니다.
프로시져를 동적으로 지정하고 프로시져에 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-->