2016-11-23 12 views
3

のSQLテキストを取得します。SQLPrepareが成功して完了私はプリペアドステートメントを作成するために、ODBC APIを使用してODBCプリペアドステートメント

SQLPrepare(hstmt, "INSERT INTO t (date) VALUES (?)", SQL_NTS); 

たら、文はhstmtハンドルを介してアクセス可能です。

hstmtハンドルしかないと、準備されたステートメントに関連付けられたSQLテキストを取得するために、ODBC API呼び出しまたは他の方法がありますか?

つまり、SQLPrepareに渡されたSQLを調べる方法はありますか?

私はSQLNativeSqlという機能しか見つけられませんでしたが、SQLテキストの解析と検証ができるため、no-op SQLPrepareのように動作します。それは私が探しているものではありません。

一般的なプレーンODBCソリューションを探していて、DBMSに固有のものではないと主張していますが、主にSQL Server用のMicrosoft ODBCドライバを使用してSQL Serverに接続します。

+1

DBから直接それを呼び出すために試みることができますか? – MtwStark

答えて

1
ODBCのAPIに包まれたメソッド/関数がある場合に、私は知らない


いますが、ここでDBMSは、あなたが作業している

select * from sys.dm_exec_sql_text(@sql_handle) 
+1

私は答えとしてそれを受け入れることはできませんが、私は興味深い代替ソリューションとしてそれを感謝します。レコード/その他の読者のために、ここに 'sys.dm_exec_requests.sql_handle'カラムの使用例を示す完全な例があります。http://stackoverflow.com/a/31968654/151641 – mloskot

関連する問題