PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
6795 99/06/16 10:08:44 RE(8):PB5.0.04: SQLCAによるストアドプロシージャ使用時にアプリケーションで落ちてしまいます。 By st1974
6745 99/06/14 16:06:25 RE(7):PB5.0.04: SQLCAによるストアドプロシージャ使用時にアプリケーションで落ちてしまいます。 By Taka
6742 99/06/14 14:40:25 RE(6):PB5.0.04: SQLCAによるストアドプロシージャ使用時にアプリケーションで落ちてしまいます。 By Potato
6733 99/06/14 12:58:53 RE(5):PB5.0.04: SQLCAによるストアドプロシージャ使用時にアプリケーションで落ちてしまいます。 By Taka
6730 99/06/14 11:13:50 RE(4):PB5.0.04: SQLCAによるストアドプロシージャ使用時にアプリケーションで落ちてしまいます。 By st1974
6728 99/06/14 11:00:02 RE(3):PB5.0.04: SQLCAによるストアドプロシージャ使用時にアプリケーションで落ちてしまいます。 By Taka
6726 99/06/14 10:12:48 RE(2):PB5.0.04: SQLCAによるストアドプロシージャ使用時にアプリケーションで落ちてしまいます。 By st1974
6709 99/06/11 16:24:51 RE(1):PB5.0.04: SQLCAによるストアドプロシージャ使用時にアプリケーションで落ちてしまいます。 By Taka
6698 99/06/10 17:26:14 PB5.0.04: SQLCAによるストアドプロシージャ使用時にアプリケーションで落ちてしまいます。 By st1974

カテゴリ:PowerBuilderの開発環境
日付:1999年06月14日 14:40 発信者:Potato
題名:RE(6):PB5.0.04: SQLCAによるストアドプロシージャ使用時にアプリケーションで落ちてしまいます。

st1974さん、こんにちは。

>Takaさん、おはようございます。
>返答が遅れてしまい申し訳ありません。

>>確かに良く解らない現象ですね。ところで、RPCFUNCによる外部関数の宣言に誤りはありませんか?
>>念のため、CREATE PROCEDURE のヘッダ部分と、外部関数の宣言の内容,呼び出す時の書き方を
>>教えてください。

>[外部関数の宣言] ※AAAがストアドプロシージャの名称です。
>subroutine AAA(string a,string b,string c,string d,ref string e) RPCFUNC

>[呼び出す時の書き方]
>SQLCA.AAA(\"SSS\",a,b)  ※PBのスクリプトで左記のように呼び出しています。

>[CREATE PROCEDUREのヘッダ部分]
>CREATE OR REPLACE PROCEDURE AAA
>(
>   a   IN   VARCHAR2
>   b   IN   VARCHAR2
>   c   IN   VARCHAR2
>   d   IN   VARCHAR2
>   e   out  VARCHAR2
>)

e outの引数はREFなので、SQLCA.AAA(\"SSS\",a,...)の呼び出しの前に

e = space(20)
とかのように、最大の文字列の長さで空白を入れておかないといけませんが、
その空白を呼び出し前に入れていますか?
そうしないと、書き込みの領域が用意されていないため、
メモリが上書きされて壊れてしまいます。
RPCFuncでのStringでREFで呼び出す場合は、外部関数の呼び出しと同じような
配慮が必要です。



付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS その他
Browser (記載なし)

Server SoftWare

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

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