如何检查 ODBC 通信,以查看正在传递的 SQL?

问题描述 投票:0回答:2

是否有适用于 Windows 的工具可用于检查通过特定 ODBC 数据源的任何 SQL 命令?

sql windows odbc
2个回答
5
投票

您可以让 ODBC 注销它正在执行的所有操作:

当您从“跟踪”选项卡开始跟踪时,驱动程序管理器将记录所有随后运行的应用程序的所有 ODBC 函数调用。不会记录在跟踪开始之前运行的应用程序的 ODBC 函数调用。

  • 如有必要,请使用具有本地管理员组成员身份的帐户登录。
  • 从管理工具中,打开 ODBC 数据源管理器。
  • 单击“跟踪”选项卡。
  • 使用所有用户身份的机器范围跟踪复选框配置跟踪模式:
  • 要启用计算机范围的跟踪,请选中该复选框。
  • 要返回每用户跟踪,请清除该复选框。
  • 单击“应用”。

http://msdn.microsoft.com/en-us/library/ms711020%28VS.85%29.aspx

请注意:

当您从“跟踪”选项卡开始跟踪时,驱动程序管理器将记录所有随后运行的应用程序的所有 ODBC 函数调用。不会记录在跟踪开始之前运行的应用程序的 ODBC 函数调用。

您也可以通过编程来完成:

...可以通过调用

SQLSetConnectAttr
并将连接中的
SQL_ATTR_TRACE
属性设置为
SQL_OPT_TRACE_ON
来完成此操作。因此,通过这样做,您将在连接持续时间内启用/禁用它。

http://decipherinfosys.wordpress.com/2009/01/17/odbc-tracing/


0
投票

如果您使用的是 SQL Server,请查看 SQL Server Profiler。 Profiler 允许您监视/跟踪应用程序和 SQL Server 之间的所有通信,包括调用了哪些过程、参数值等,而无需修改您的应用程序。

如果您使用不同的服务器,您应该能够找到可以执行相同操作的 sql 代理。

© www.soinside.com 2019 - 2024. All rights reserved.