ADOでストアド実行時のOutパラメータのSize


けんいち  2007-03-20 08:00:17  No: 25423

環境:Delphi5
     oracle9i

TADOStoredProcを用いて、ストアドを実行するプログラムを作っています。
そのストアドのOutパラメータとして、
CHAR、VARCHARの値を戻そうとしています。(Numberは指定せずに取得できています)
その際に、Outパラメータに対してsizeプロパティを省いて実行しようとすると
実行時に、エラーになってしまいます。
BDEの場合はプロパティが存在しないのもあり考慮せずに使えたので、
ADOでも同様にsizeプロパティの指定を省略する事は可能でしょうか?
また不可能だった場合、可変のOutパラメータのsizeを余分なく、指定する方法はありますでしょうか?

ーーーーーーーストアドーーーーーーーーーー
Create Or Replace Procedure XXXX (
  I_ARG1 IN CHAR,
  O_Message OUT VARCHAR2,
  O_Code OUT NUMBER  
) IS 〜

ーーーーーーーDelphiーーーーーーーーーーー
with ADOStoredProc do
begin
  ProcedureName:='XXXX';
  Parameters.Refresh;
  Parameters[0].Value:='XX';
  Paramerers[1].size:=2048;  ←省略したい
  ExecProc;
  if Parameters[2].Value <> 0 then
    showmessage(Parameters[1].Value);
end;

知ってる方がいらっしゃいましたら、
お忙しいとは思いますが、ご教示ください。
よろしくお願いします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加