我使用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。
答案 0 :(得分:1)
我不知道ODBC API中是否有包装的方法/函数,
但您可以尝试直接从DB
select * from sys.dm_exec_sql_text(@sql_handle)