■SI Object Browser 掲示板


ユーザの皆様、開発者、サポート担当者の交流のための掲示板です!

ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。
なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。

discussion
※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。
OB12のユーザ定義コマンド 2012/11/06 17:52 OB 2
バージョン12.0.0.0を使用しています。ユーザ定義コマンドを実行したところ、「コマンドを実行しました」とダイアログが表示されるものの、実際は設定したSQLが実行されていないように思えます。メニュー>ツール>ユーザ定義コマンド>[名前]、ショートカットのいずれも実行されません。
※OracleエラーとなるSQLを設定してもエラーにならないことから、実行されていないと判断しました。
※「SQL実行画面を使用する」のチェックをオンにして実行すれば、SQL実行画面で実行されるので、現状はこちらで回避をしています。

【SI Object Browser情報】
バージョン : 12.0.0.0
プログラムのパス : c:\program files\ob12\ob12.exe

【Oracle情報】
Oracleホーム : c:\oracle\product\11.2.0\dbhome_1
OCI.DLLのパス : c:\oracle\product\11.2.0\dbhome_1\bin\oci.dll
tnsnames.oraのパス : c:\oracle\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
こんにちは。
OBサポートです。

お問い合わせいただいた件につきましてですが、弊社環境におきまして
問題なくSQLが実行されることを確認いたしました。

恐れ入りますが、以下のケースに該当しないかご確認いただけますでしょうか。

■DDLを実行している場合
 たとえば、テーブルのバックアップを取るような定義コマンドを作成、実行した際
 オブジェクトリストを再読み込みするまでは一覧に表示されません。
 お手数ですが、F5キー押下にてリストの再読み込みをお願いできますでしょうか。

■SELECT文以外のDMLを実行している場合
 INSERT文やUPDATE文、DELETE文を作成、実行して他のシステム/アプリケーションから
 データを参照している場合、コミットが行われていないために変更前のデータが
 表示されている可能性がございます。
 お手数ですが、ユーザー定義コマンド実行後、コミットボタン(画面上部の白丸)を
 押下していただけますでしょうか。 

■SELECT文を実行している場合
 SELECT文につきましては、定義登録画面の「SQL実行画面を使用する」がONと
 なっていない場合は何も結果を表示いたしません。(SQL自体は実行されます)
 こちらにつきましては、動作仕様となりますのでご了承くださいますようお願いいたします。

■上記以外の場合
 お手数ですが、具体的なコマンドをお知らせいただけますでしょうか。

また、エラーとなるSQLを実行しても「実行しました」が表示される件につきましては
確認しましたところ、Ver.12よりすべてのエラーを無視する動作となっていることが
判明いたしました。ご不便をおかけし、誠に申し訳ございません。

こちらにつきましては、障害報告として開発側に伝えさせていただきます。

何卒、よろしくお願いいたします。
ご回答ありがとうございました。結論からいいますと、ユーザ定義コマンドに記述していた内容に問題があり、それを解消することで実行できるようになりました。

>お問い合わせいただいた件につきましてですが、弊社環境におきまして
>問題なくSQLが実行されることを確認いたしました。
>
>恐れ入りますが、以下のケースに該当しないかご確認いただけますでしょうか。

>■上記以外の場合
> お手数ですが、具体的なコマンドをお知らせいただけますでしょうか。

ユーザ定義コマンドでは、以下の2通りの記述方法で、プロシージャの実行を行っていました(社内で開発しているプロシージャのため、名称は控えさせていただきます)。

1.
call プロシージャ;

※こちらはSQL実行画面では試していませんでした。SQL実行画面で行うと「ORA-00911: 文字が無効です。」のエラーとなりました。
※セミコロンを外せばユーザ定義コマンドでも実行できるので、外すようにいたします。

2.
BEGIN
プロシージャ;
END;
/

※上記1で実行できていないように思えたので、こちらに書き換えていました。ユーザ定義コマンドでは何も行われないのですが(エラーが起きているのかは不明)、SQL実行画面を使用することにより実行できていました。

>また、エラーとなるSQLを実行しても「実行しました」が表示される件につきましては
>確認しましたところ、Ver.12よりすべてのエラーを無視する動作となっていることが
>判明いたしました。ご不便をおかけし、誠に申し訳ございません。
>
>こちらにつきましては、障害報告として開発側に伝えさせていただきます。

了解いたしました。ひとまずは気をつけたいと思います。