PB 電子会議室

コメント修正

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
4978 99/02/04 17:08:03 RE(8):PB6: Oracleに作成したプロシージャの使用方法 By てとらぽっと
4971 99/02/04 10:37:37 RE(7):PB6: Oracleに作成したプロシージャの使用方法 By baron
4947 99/02/03 12:34:21 RE(6):PB6: Oracleに作成したプロシージャの使用方法 By bihu
4928 99/02/02 17:25:14 RE(5):PB6: Oracleに作成したプロシージャの使用方法 By てとらぽっと
4926 99/02/02 17:12:44 RE(4):PB6: Oracleに作成したプロシージャの使用方法 By baron
4925 99/02/02 16:55:53 RE(3):PB6: Oracleに作成したプロシージャの使用方法 By baron
4779 99/01/26 18:13:08 RE(2):PB6: Oracleに作成したプロシージャの使用方法 By bihu
4778 99/01/26 18:11:42 RE(1):PB6: Oracleに作成したプロシージャの使用方法 By てとらぽっと
4773 99/01/26 17:15:11 PB6: Oracleに作成したプロシージャの使用方法 By baron

カテゴリ:データベース
日付:1999年02月02日 17:12 発信者:baron
題名:RE(4):PB6: Oracleに作成したプロシージャの使用方法

てとらぽっと さん  ありがとうございました。


>戻り値の変数 = sqlca.FC_TEST(引数)

>ユーザーによって拡張されたsqlcaのローカル外部関数として宣言していれば、
>スクリプトで上のように書けます。

>多分やっておられないと思いますので説明しますと、ユーザーオブジェクトの標準クラスから
>Transaction型を選んで新規作成し、Transaction型を継承した拡張クラスを作ります。
>そのローカル外部関数の宣言に、データベースのファンクションを加えます。
>[プロシージャ...]というボタンをクリックすると、データベースのファンクションなどが見えます。
>アプリケーションペインタを開き、デフォルト グローバル変数のsqlcaを拡張クラスに変更します。

ここのまでの作業は完了しました。アプリケーションの下の階層にユーザーオブジェクトが表示されました。

しかし、それ以上まだ進んでいません。
グローバル変数に Transaction SQLORA という名前のトランザクションオブジェクトを宣言しています。

スクリプトでは、
Integer IRet
IRet = SQLORA.FC_Test (1, 2, 199812, 199902 )

と、記述してみましたが、「関数fc_testは未定義です。」というエラーが出てしまいます。
何が悪いのか良く分かりません。

分かるようでしたら教えて頂きたいのですが・・・。
よろしくお願いします。


>これだけで自動的にsqlca変数をCreateしてくれるので、先のローカル外部関数を使用することが
>出来ます。
>大雑把な説明ですが…。

>何をどう表示したいのか、ちょっとよく解りません。(^^;
>結果集合を返すファンクションではないので、DWのデータソースとして使うことはできないでしょう。
>またDWのコントロールにデータベースのファンクションを貼り付けることはしません。
>ファンクションは(DWの)SQL文に埋め込んで使うといいかと思います。
説明不足ですみません。

自己レスですが、
データウィンドウでは、カーソル型を返す関数のデータを受け取ることはできないという事でした。
Oracleで結果集合を返すストアドプロシージャを使用しないと、データウィンドウでは使用できないようです


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)

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