我的ODBC日志中有以下几行:
(场景:pgAdmin4,在名为系统管理的另一个应用程序中通过ODBC32使用PostgreSQL服务器)
System Admi 6a0-6f8 ENTER SQLExecDirect
HSTMT 0x00630718
UCHAR * 0x036B29C0 [ 63] "create table new (npages integer, ifnds integer, ifnid integer)"
SDWORD 63
我需要知道HSTMT
,UCHAR*
和SDWORD
的含义。他们旁边的那些数字是什么意思?
答案 0 :(得分:1)
这是ODBC跟踪的记录
有一个带有语句句柄0x00630718的过程“SQLExecDirect”,文本参数(作为指针传递)是“create table ...”,最后一个参数是text的大小(作为word类型传递)。请参阅MSDOC中的相关reply。
HSTMT
,UCHAR
,SDWORDS
是C,C ++ MS Windows API使用的数据类型。
答案 1 :(得分:1)
来自文章Everything You Want To Know About ODBC Tracing
在跟踪日志中,您将看到句柄的数据类型 SQLHANDLE , HENV / SQLHENV ,HDBC / SQLHDBC , HSTMT / SQLHSTMT 即可。这个 value对于被调用的特定系列项是唯一的。您 可以在跟踪日志中搜索此句柄号和每次调用 将显示手柄上。这允许你只选择 在跟踪日志中调用与错误消息相关的内容。保持 记住,一些应用程序可能会创建多个句柄。例如, 您的应用程序可以连续执行三个语句 驻留在不同的声明句柄上。
有关示例和更多详细信息,请参阅下一个好文档: -