我能看到通过ODBC连接发送的所有SQL语句吗?

时间:2010-04-20 01:59:11

标签: sql proxy debugging odbc sniffer

我正在使用第三方应用程序,该应用程序使用ODBC连接和更改数据库。在某些故障模式期间,最终结果不是我所期望的。为了更好地理解它,我想要一些检查发送到数据库的所有语句的方法。有没有办法用ODBC做到这一点?

我知道使用JDBC我可以使用http://www.p6spy.com/查看发送的所有语句,例如在调试hibernate时。 p6spy是一个“代理”驱动程序,它记录发送的命令并将它们转发到真正的JDBC驱动程序。

另一种可能性是协议嗅探器,它将通过线路捕获语句。虽然,我不确定ODBC是否包含标准的有线协议,或者只是指定了API。

有没有人知道允许我做这些事情的现有工具?或者,我可以采取另一种方法吗?

3 个答案:

答案 0 :(得分:1)

ODBC指定程序与本地驱动程序的通信方式,而不是本地驱动程序与远程数据库的通信方式。你的代理驱动程序的想法是合理的,你只需要找到一个。

答案 1 :(得分:1)

您是否尝试过内置于ODBC中的跟踪?在ODBC数据源管理器中,有一个跟踪选项卡。我记得,所捕获的信息非常详细。

答案 2 :(得分:0)

我认为无论数据库是什么,都可以更轻松地读取SQL端的日志。例如,在SQL Server上打开监视器或在MySQL中查看日志。似乎使用嗅探器会比它的价值更麻烦,但我想这取决于可用的工具。您使用的是什么RDBMS?