检索ODBC预处理语句

时间:2016-11-23 17:23:29

标签: sql sql-server odbc

我使用ODBC API创建预准备语句:

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

SQLPrepare成功完成后,可以通过hstmt句柄访问该语句。

只有hstmt句柄,是否有任何方法,ODBC API调用或其他方法来检索与预准备语句关联的SQL文本?

换句话说,有没有办法找出哪些SQL传递给SQLPrepare调用?

我只找到SQLNativeSql函数,但它只允许解析和验证SQL文本,所以它有点像无操作SQLPrepare。这不是我想要的。

虽然,我希望找到一个通用的普通ODBC解决方案,而不是特定于任何DBMS,但我主要是使用SQL Server的Microsoft ODBC驱动程序连接到SQL Server。

1 个答案:

答案 0 :(得分:1)

我不知道ODBC API中是否有包装的方法/函数,
但您可以尝试直接从DB

调用它
select * from sys.dm_exec_sql_text(@sql_handle)