2016-03-25 10 views
0

Python 2.7を使用して置換するためのいくつかの準備済みのSQL文と辞書を、Oracle Database上のリモート実行用のサーバに送信します。Python 2.7でOracleデータベースのクエリの文字列表現を取得する方法

最終的なクエリをログに記録します。これはサーバー上で実行されますが、最終的なクエリの文字列表現を取得する方法が見つかりません。

プリペアドステートメントの例:

delete from my_table where col1=:date and col2=:string and col3=:num 

辞書例:私は(どんなSQL、それは私のデータとし、実行することができる)を取得したい何

{'date':datetime.datetime(2016, 3, 25, 0, 0), 'string':'abc', 'num':42} 

delete from my_table where col1=TO_DATE('25-03-2016 00:00','dd-mm-yyyy hh24:mi') and col2='abc' and col3=42 
+0

プリペアドステートメントでOracleに「最終的なSQL」はありません。値は必要に応じてプレーンテキスト形式に置き換えられません。準備された文は、渡したパラメータで実行されます。 – Mat

+0

ありがとうございます。それでもこの種のSQLクエリを生成する方法はありますか?誰かがすでにこのコードを書いていたと思います。 – Rabodaber

+1

なぜこれが欲しいですか?それは実行されるものではないので、現実的であることを引用することについて心配する必要がありますが、それは意味がないようです。ロギングが目標であれば、ステートメントとパラメータを記録するだけで、クエリを正確に再現する唯一の方法です。 – Mat

答えて

0

なぜこれが欲しいですか?それは実行されるものではないので、現実的であることを引用することについて心配する必要がありますが、それは意味がないようです。ロギングが目標である場合は、ステートメント&をログに記録するだけで、クエリを正確に再現する唯一の方法です。 - Mat March 28 at 16:07

コメントありがとうございました。

関連する問題