PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
9232 | 99/11/12 16:52:35 | RE(2):PB5.0.02: RPCFUNCでのPL/SQL表の受け渡しについて By chia |
9215 | 99/11/12 14:04:42 | RE(1):PB5.0.02: RPCFUNCでのPL/SQL表の受け渡しについて By Taka |
9212 | 99/11/12 13:26:43 | PB5.0.02: RPCFUNCでのPL/SQL表の受け渡しについて By chia |
カテゴリ:データベース
日付:1999年11月12日 13:26 発信者:chia
題名:PB5.0.02: RPCFUNCでのPL/SQL表の受け渡しについて
こんにちは。chiaと申します。
PL/SQL表をOUTパラメータにしたORACLEのストアドプロシージャを呼出したいんですが、うまくいかなくて困っ
てます。
ここの過去ログを見たらRPCFUNCでのストアドプロシージャの呼出しではPL/SQL表が使えるとありましたが、そ
れもエラーになってしまいます。
トランザクションを継承したユーザオブジェクトのローカル外部関数でプロシージャを宣言して、アプリケー
ションのSQLCAにそのユーザオブジェクトを指定したのですが・・・あってますよね?
それで実行するとSQLCODEが-1で「配列をバインドするには配列長が無効です」と出ます。
PowerBuilderもしくはORACLE側になにか設定が必要なのでしょうか。
わかる方、よろしくお願いします。
*パッケージ
CREATE OR REPLACE PACKAGE TEST_SQL AS
TYPE t_column IS TABLE OF varchar2(8) INDEX BY BINARY_INTEGER;
END TEST_SQL;
/
*プロシージャ
CREATE OR REPLACE PROCEDURE TEST_PROC(
O_tbl IN OUT TEST_SQL.t_column,
)IS
CURSOR C1 IS
SELECT COL1
FROM TEST_TBL;
numCOUNT NUMBER := 0;
BEGIN
FOR C1_REC IN C1
LOOP
numCOUNT := numCOUNT + 1;
O_tbl(numCOUNT) := C1_REC.COL1;
END LOOP;
END;
*ローカル外部関数の宣言
subroutine TEST_002(ref string o_tbl[]) RPCFUNC
*スクリプト
string ls_tbl[]
SQLCA.TEST_002(ls_tbl)
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows95
DBMS Oracle SQL*Net 2.2
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.