我正在寻找一个在我使用应用程序时记录应用程序中触发的 SQL statemetns 的工具。
我找到了 p6spy。但这有一个问题。它似乎与 XA 数据源不兼容。
有没有办法让 p6spy 在 Websphere 6.1 上工作,或者是否有替代 p6spy 的方法?
此外,如果有人有任何 AspectJ 代码拦截 PreparedStatment 对象并转储 SQL,那也很好。
JDBC 驱动程序不需要实现能够提取/打印 SQL 语句的功能。老实说,我会在数据库中执行此操作。所有合理的数据库产品都可以详细记录进入的所有内容。此外,您还可以同时获得更多信息,例如执行计划及其对服务器的影响。
我似乎记得有一些参数可以添加到您的 jdbc url 配置和/或连接中。不记得细节了。
它确实取决于您访问数据库的方式。如果您使用的是 Hibernate,那么您可以让它吐出它的 SQL,如果您通过 WAS 访问数据源,那么您可以使用跟踪服务。将跟踪设置为:
=信息:com.ibm.websphere.rsadapter。=详细
看看你能从中得到什么。
您将跟踪级别更改为 jdbc 驱动程序。如果您使用 DB2,则更改数据源的自定义属性;
如果您使用 Oracle,则更改 ojbdc6_g.jar 上的驱动程序并更改 JVM 属性