我正在尝试使用以下查询跟踪数据库会话期间生成的重做量:
SELECT a.name, b.VALUE
FROM v$statname a, v$mystat b
WHERE a.statistic# = b.statistic# AND a.name = 'redo size';
此查询直接在 SQL*Plus 和 Toad 中工作,但我使用 JDBC 得到 ORA-00911 异常,并且我已将其缩小到“statistic#”列名。
我该如何解决这个问题?
列名statistic#
不是问题。
;
我敢打赌,您还可以从 Java 程序内部发送终止。
但是;
当通过 JDBC 执行 SQL 语句时,您可能不包括(至少在 Oracle 和其他一些 DBMS 中不包括)。
从您的 SQL 字符串中删除;
它应该没问题。
把它放在双引号中 - 这应该让你在 Oracle 中调用任何字段
打开 JDBC 日志记录,检查您的驱动程序文档以了解如何执行此操作。在 JDBC 日志中,您可以看到在 DB 中准备和执行的实际语句。这消除了错误的一个可能原因。