PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
8617 | 99/10/07 12:36:27 | RE(4):PB6.5: PB65からoracle8ストアドプロシージャが実行できなくなりました。 By リエッチ |
8595 | 99/10/06 18:04:13 | RE(3):PB6.5: PB65からoracle8ストアドプロシージャが実行できなくなりました。 By Taka |
8591 | 99/10/06 17:33:07 | RE(2):PB6.5: PB65からoracle8ストアドプロシージャが実行できなくなりました。 By shinsuke |
8587 | 99/10/06 15:14:24 | RE(1):PB6.5: PB65からoracle8ストアドプロシージャが実行できなくなりました。 By Taka |
8562 | 99/10/05 21:01:08 | PB6.5: PB65からoracle8ストアドプロシージャが実行できなくなりました。 By shinsuke |
カテゴリ:PowerBuilderの不具合?
日付:1999年10月06日 15:14 発信者:Taka
題名:RE(1):PB6.5: PB65からoracle8ストアドプロシージャが実行できなくなりました。
shinsukeさん、こんにちは。
まだレスが付いていないようでしたので...(^^;
>PowerBuilder6.5からOracleのストアドプロシージャを呼び出しているのですが、エラーが発生してしまいます。
>(するようになってしまいました。が本当のところです。)
これは、「PB6.5 & Oracle7.xなら問題なかった」の意味ですか?
>そのエラーは
>ORA-0650 行1、行21
>PLS-00302:コンポーネント SHRF2SMF を宣言してください。
>ORA-0650 行1、行21
>PL/SQL Statement ignored
>と出ます。
エラーメッセージからは、接続先DBに SHRF2SMF というオブジェクトが存在しない という事になると
思いますが...そうではないんですよね?。
確認したいのですが、これっていわゆるストアドプロシージャですよね?
パブリックシノニム経由とか、DATABASE LINKとかを要するものではないですよね?
>ちなみに、プロシージャ shrf2smf(変数名 date) はスキーママネージャで確認するとvalid状態で、
>sqlplus環境では実行できます。
SQL*Plusでの接続先と、PBアプリでの接続先は、全く同一ですか?
>string sqlstring
>datetime dt
>dt=datetime(date(\'1999/10/01\'))
>sqlstring=\"execute shrf2smf(to_date(\'\"+string(dt,\"yyyy/mm/dd\")+\"\',\'yyyy/mm/dd\'))\"
>execute immediate :sqlstring;
>この後sqlcodeのチェック
こちらで同じようなプロシージャを作ってみました。問題なく動きましたけど。(^^;
また、動的SQL・書式2ではどうでしょうか。
datetime dt
dt=datetime(date(\'1999/10/01\'))
prepare sqlsa from \"execute shrf2smf(?)\" ;
execute sqlsa using :dt ;
messagebox( string(sqlca.sqlcode), sqlca.sqlerrtext )
※ オブジェクトが存在しない、というエラーが出ている以上、変化ないと思いますが...
ちなみに WinNT4 & PB6.5、SQLCA.DBMS = \"o84\" でテストしています。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 4.0
DBMS Oracle SQL*Net 8
Browser InternetExplorer5.X
Server SoftWare
OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.