■SI Object Browser 掲示板
|
ユーザの皆様、開発者、サポート担当者の交流のための掲示板です! ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。 なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。 |
|
| ※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】 ※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。 ※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。 ※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。 | |
デバッグについて
2004/10/15 04:05
OB
2
Dev
前回の質問なんですが再度、投稿させてください。
パラメータに配列やカーソルがある場合、
ORA-06550,PLS-00306等のエラーとなり、
デバッグ実行ができないんですが、何か方法がありますでしょうか?
現状はテスト用のファンクションを作り、その中で
配列やカーソルの引数を持つファンクションを呼び出して実行しております。
環境:Oracle10g
パラメータに配列やカーソルがある場合、
ORA-06550,PLS-00306等のエラーとなり、
デバッグ実行ができないんですが、何か方法がありますでしょうか?
現状はテスト用のファンクションを作り、その中で
配列やカーソルの引数を持つファンクションを呼び出して実行しております。
環境:Oracle10g
返信を投稿
OB
後迫@SI
こんにちは
後迫@SIです。
お問い合わせいただきました件についてですが、
現状では配列型を引数として設定することはできません。
ご希望に添えず誠に申し訳ございません。
今後のバージョンアップにて、
配列型を引数として設定、参照できるよう検討しております。
どうぞよろしくお願いいたします。
後迫@SIです。
お問い合わせいただきました件についてですが、
現状では配列型を引数として設定することはできません。
ご希望に添えず誠に申し訳ございません。
今後のバージョンアップにて、
配列型を引数として設定、参照できるよう検討しております。
どうぞよろしくお願いいたします。
返信を投稿
OB
まこちゃん
同様の件で、悩んでましたが、解決方法がわかったので、投稿します。
ただ、同じ現象とはかぎらないのですが、参考になれば。
○実行環境
ORACLE 9i
WinXP SP1
OB 9.0.0.0
○考察
引数に予約語(?)を使うと、OBから実行したとき、エラーになる
ようです。
ファンクションや別ソフト(PLSQL DEVELOPER)だと正常に実行はされ
るので、OB自身の問題(癖?)かもしれません。
○エラー
OBからプロシジャを選択して実行すると、次のメッセージが表示される。
「
ORA-06550: 行2、列9:
PLS-00306: 'test01001'の呼出しで、引数の数または型が正しくありません。
ORA-06550: 行2、列3:
PL/SQL: Statement ignored
」
○対処方法
引数の、result、sqlerr を o_result、o_sqlerr に変更すると
OBから実行できました。
○プロシジャ文(例)
以下のプロシジャを実行すると、エラーになります。
------------------------------------
DROP PACKAGE test01;
CREATE OR REPLACE PACKAGE test01 AS
PROCEDURE test01001(
result OUT NUMBER,
sqlerr OUT NUMBER
);
END test01;
/
CREATE OR REPLACE PACKAGE BODY test01 AS
PROCEDURE test01001(
result OUT NUMBER,
sqlerr OUT NUMBER
) IS
ERR_END EXCEPTION;
BEGIN
NULL;
END test01001;
END test01;
/
------------------------------------
ただ、同じ現象とはかぎらないのですが、参考になれば。
○実行環境
ORACLE 9i
WinXP SP1
OB 9.0.0.0
○考察
引数に予約語(?)を使うと、OBから実行したとき、エラーになる
ようです。
ファンクションや別ソフト(PLSQL DEVELOPER)だと正常に実行はされ
るので、OB自身の問題(癖?)かもしれません。
○エラー
OBからプロシジャを選択して実行すると、次のメッセージが表示される。
「
ORA-06550: 行2、列9:
PLS-00306: 'test01001'の呼出しで、引数の数または型が正しくありません。
ORA-06550: 行2、列3:
PL/SQL: Statement ignored
」
○対処方法
引数の、result、sqlerr を o_result、o_sqlerr に変更すると
OBから実行できました。
○プロシジャ文(例)
以下のプロシジャを実行すると、エラーになります。
------------------------------------
DROP PACKAGE test01;
CREATE OR REPLACE PACKAGE test01 AS
PROCEDURE test01001(
result OUT NUMBER,
sqlerr OUT NUMBER
);
END test01;
/
CREATE OR REPLACE PACKAGE BODY test01 AS
PROCEDURE test01001(
result OUT NUMBER,
sqlerr OUT NUMBER
) IS
ERR_END EXCEPTION;
BEGIN
NULL;
END test01001;
END test01;
/
------------------------------------
返信を投稿
OB