【问题标题】:Is there a way to print all SQL statements performed by JDBC?有没有办法打印 JDBC 执行的所有 SQL 语句?
【发布时间】:2012-01-22 09:04:50
【问题描述】:

在不更改我的代码中的任何内容的情况下,有没有办法告诉 JDBC 打印由 Statement#executeUpdate(...) 和 Statement#execute(...) 执行的任何查询?

这对于调试目的非常有用。

【问题讨论】:

    标签: java debugging jdbc


    【解决方案1】:

    是的。在实际驱动程序周围使用包装器,例如P6Spy。可能还有其他同类工具。

    编辑:P6Spy 似乎已经死了。但我也找到了JDBCGrabber

    【讨论】:

    • P6Spy 真的很棒,即使不再维护。这绝对是您问题的答案。如果可以,不要忘记验证 JB Nizet 的答案。
    • JDBCGrabber 看起来不错,但 db2 似乎不支持 url 中的 urser\password ..所以我无法让它工作
    【解决方案2】:

    我已经尝试了您的所有建议,但最后我找到了 log4jdbc 并使用了它

    【解决方案3】:

    这在很大程度上取决于您的 jdbc 驱动程序。大多数驱动程序允许启用某种跟踪。检查您的驱动程序文档。

    例如

    甲骨文:http://docs.oracle.com/cd/B28359_01/java.111/b31224/diagnose.htm

    DB2:http://www.ibm.com/developerworks/data/library/techarticle/dm-0506fechner/

    【讨论】:

    • 我正在使用 DB2,但我没有成功使用该指南:/。我只想打印查询
    猜你喜欢
    • 2011-09-24
    • 2015-02-25
    • 1970-01-01
    • 1970-01-01
    • 2014-10-02
    • 1970-01-01
    • 2021-01-31
    • 2022-01-24
    • 2021-08-22
    相关资源
    最近更新 更多