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 (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.