PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
7090 | 99/07/12 17:25:04 | RE(6):転送バイト数に制限が! By Taka |
7076 | 99/07/09 13:21:23 | RE(5):PB5.0.02: ストアドファンクションに配列を渡す? By m.ishida |
7064 | 99/07/08 17:40:13 | RE(4):PB5.0.02: ストアドファンクションに配列を渡す? By m.ishida |
7063 | 99/07/08 17:25:58 | RE(3):PB5.0.02: ストアドファンクションに配列を渡す? By Taka |
7062 | 99/07/08 16:51:12 | RE(2):PB5.0.02: ストアドファンクションに配列を渡す? By m.ishida |
7060 | 99/07/08 16:52:33 | RE(1):PB5.0.02: ストアドファンクションに配列を渡す? By Taka |
7058 | 99/07/08 15:17:00 | PB5.0.02: ストアドファンクションに配列を渡す? By m.ishida |
カテゴリ:データベース
日付:1999年07月08日 16:51 発信者:m.ishida
題名:RE(2):PB5.0.02: ストアドファンクションに配列を渡す?
どうもわざわざすみません。質問も言葉足らずだったようで・・・
>で、お聞きしたいのですが、
>
>その1:
>環境がPB5.0.02とありますが、可能であれば5.0.04(+パッチ版)で試してみてください。
>5.0.02のO73インターフェイスでは、ストアド呼び出しなどで細かいバグが多かったと記憶しています。
・すいません、客先の関係等、現段階ではこのバージョンで試すほかないんです。
>その2:
>No006256のサンプルは、配列データを一方的に渡す場合の方法です。
>つまりプロシージャの引数が \"IN\" になっているケースです。
>もしかして \"OUT\"で定義していて、プロシージャの中で取得したデータをPBから受け取ろうとしていません
か?
>その場合は、事前に配列を初期化してメモリを確保しておかなければなりません。
>配列の上限を決めておく必要があり、かつ十分な長さの空白文字で埋めておく必要があります。
>(この制約があるので、あまり実用的ではないと思っています)
>
>これでどうでしょうか。
最初の段階ではOUTのものも使おうと考えていたのですが、上記のようなことがあると知ったので、
今はINの引数でのみで検証しています。
以下がストアド宣言部です。
TYPE t_lot_no IS TABLE OF VARCHAR2(5)
INDEX BY BINARY_INTEGER;
FUNCTION p_test1 (
p_lot_no IN t_lot_no,
sql_errm OUT varchar2
) RETURN string;
以下がPBローカル外部関数定義部です。
FUNCTION string p_test1(string p_lot_no[],REF string sql_errm) RPCFUNC ALIAS FOR \"p_test.p_test1\"
FUNTION p_test1はパッケージp_testにて定義しています。
どうでしょうか?
どこかで単純なミスをしている可能性もあるんですが・・・
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows95
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.