dポイントプレゼントキャンペーン実施中!

コンパイル済のVB6のプログラムからストアドプロシージャをCALLして
いるのですが、実際にどのような値を渡しているのかを調べなければなりません。
VB6の開発環境があれば容易いのですが、現在実行環境しかない為ORACLE側での
調査が必要です。
全てのプロシージャに出力ロジックを追加すれば良いのですが、
数が多すぎて対応に困っております。
ツールや方法論等につきまして、どなたかご存知でしたらご教授頂けると助かります。
環境は以下の通りです。

Client:
WindowsXP SP3
VB6で作成したEXE

Server:
Linux(Red hat linux)
ORACLE 11g Standard
PL/SQLで作成したStoredProcedure

ちなみに、JdeveloperやOracle SQL Developerも調べて見たのですが、
お恥ずかしながら、今一理解が出来ませんでした。

A 回答 (2件)

セッショントレースで、捕まえられないのなら・・


オラクルがキャッシュしているSQLを見る位しか思いつかないんですが、
データディクショナリのv$sqlやv$sqltextを見ると今実行中のSQLを確認できます。
v$sessionと絡めれば、どのクライアントからリクエストなのかも切り分けできますよ。
ただし、バインド変数を使っていると、バインド変数名が表示された気がしますけどね。


SQL文を提示するといいんですが、今手元に環境がないので、ご自分で試行錯誤してみてください。
(昔、どっかの掲示板で書いてあげた思い出はあるんですが、見つけられませんでした)
    • good
    • 0
この回答へのお礼

補足ありがとうございます。
v$sql_bind_captureよりバインド変数を参照する方法ですね。
了解しました。

お礼日時:2013/01/06 10:45

セッショントレースを採れば、どんなSQLを投げているのか判ると思いますよ。


トレースの取り方は、マニュアルを確認されるとよいと思います。

まあ、こんな感じで難しいわけではないですけどね。
http://www.geocities.jp/principal_focuses/tech/o …

他にも、オラクルのシステム表に最近リクエストされたSQLはキャッシュされているので、
それを確認する方法もありますが、トレースの方が後でじっくり見れるので、お勧めだと
思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
私の文章の書き方が悪かったのですが、
VBのプログラムからストアドプロシージャを呼び出す時に
渡している引数(パラメータ)の内容を調べたいと考えております。

お礼日時:2013/01/05 13:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す