重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

【背景】バッチプログラムを実行中、トラブルが発生した場合、どのSQL文が発行されてトラブルになったか知りたいです。
  例えば、EXEC SQL SELECT * FROM USE_TABLE WHERE USE_ID=:USE_ID直後でトラブルになった場合、仮に:USE_ID='yxy19700804'でしたら、COBOLがOracleにEXEC SQL SELECT * FROM USE_TABLE WHERE USE_ID='yxy19700804'といったSQL文を発行した直後、トラブルになります。「EXEC SQL SELECT * FROM USE_TABLE WHERE USE_ID='yxy19700804'」をシステム的に取得方法がありますか?

A 回答 (2件)

動的SQLでないので、プログラムで取得するのは難しいです。


(#1さんのおっしゃるとおり、user_idの部分だけ分かればいいと思うのですが・・・)

やるのであればOracleでログを取るのがいいと思います。トラブルが発生しているのであれば、ログにSQLが出ていれば原因を特定しやすいと思います。(勘違いということもありますからね)
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
実は、私は一つの大きなプロジェクトを推進しています。トラブルになった場合、最後実行したSQL文(ホスト変数を翻訳済み)をログに吐き出すべきという部下の提案があります。いい案と思いますが、プログラムで一々編集すると、大変な作業量になり、納期を考えると、躊躇してしまいまう。もし、翻訳済みのSQL文をプログラムで取得できる方法があれば、教えて戴きたいです。
よいお年を!

お礼日時:2004/12/31 11:01

こんばんは。



よくわかりませんが、SQLの中身を取得するんでしょうか?
>>仮に:USE_ID='yxy19700804'でしたら
この:USE_IDの値を取ればいいんだと思いますが・・・?
>>システム的に取得方法がありますか?
これはどういう意味ですか?
(^^ゞ
    • good
    • 0

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

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