1

我的 ODBC 日志中有以下几行:

(场景:pgAdmin4,在另一个名为 System Administration 的应用程序中通过 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

4

2 回答 2

1

这是 ODBC 跟踪的记录

有一个过程“SQLExecDirect”,语句句柄为 0x00630718,文本参数(作为指针传递)是“创建表 ...”,最后一个参数是文本大小(作为字类型传递)。请参阅 MSDOC 中的相关回复HSTMT, UCHAR,SDWORDS是 C、C++ MS Windows API 使用的数据类型。

于 2016-12-26T07:31:03.857 回答
1

来自文章你想知道的关于 ODBC 跟踪的一切

在跟踪日志中,您将看到句柄的数据类型为 SQLHANDLEHENV / SQLHENV 、 HDBC / SQLHDBCHSTMT / SQLHSTMT。该值对于被调用的特定系列项目是唯一的。您可以在跟踪日志中搜索此句柄号,并且将显示在句柄上进行的每个调用。这允许您仅在跟踪日志中挑选出与您的错误消息相关的调用。请记住,某些应用程序可能会创建多个句柄。例如,您的应用程序可能会连续执行三个语句,每个语句位于不同的语句句柄上。

有关示例和更多详细信息,请遵循下一个不错的文档:-

如何读取 ODBC 跟踪文件.rtf

于 2016-12-26T07:34:21.880 回答