3

我正在重写一个非常古老的项目,它使用 1.4 JDK 和 java.util.logging。它使用到 Oracle 的 JDBC 连接。我正在尝试从 java 程序记录对 Oracle 的所有 SQL 调用,这可能吗?我已经更换了驱动程序以使用 classes14_g.jar 并启用了 Oracle 跟踪。像这样的调用:

stmt = (OracleCallableStatement) tr.createCallableStatement(sqlString,1);
  oracle.jbo.domain.Date jboDate = DateUtil.parseDateString(monthEndDate);
  stmt.setDATE(1,jboDate );
  stmt.executeUpdate();

还没有登录,欢迎提出任何建议。

4

1 回答 1

3

一种选择是使用间谍驱动程序来拦截所有 JDBC 调用并记录它们。其中有几种可用,包括 BEA(现为 Oracle)提供的一种:

如果你想要更多的控制(和更多的工作),你可以利用 AOP 来拦截对你的 JDBC 驱动程序的调用,然后记录它们,但我觉得这需要付出很多努力而没有太多收获。

于 2012-07-20T18:20:07.437 回答