使用 keep-alive: ORA-00933: SQL 命令未正确结束

Using keep-alive: ORA-00933: SQL command not properly ended

我想使用 squirrel-sql 的保持活动功能,因为如果我的 Oracle 数据库连接闲置时间过长,它们就会被切断。这是一个不言自明的功能 - 或者人们会期望 - 还有 covered on SO.

然而,显而易见的 SELECT 1 FROM DUAL; 并没有削减它并导致这个错误:

2016-10-21 16:43:51,879 [Thread-4] INFO
    net.sourceforge.squirrel_sql.client.session.SessionConnectionKeepAlive
    - SessionConnectionKeepAlive (...) running SQL: SELECT 1 FROM DUAL;
2016-10-21 16:43:51,882 [Thread-4] ERROR 
    net.sourceforge.squirrel_sql.client.session.SessionConnectionKeepAlive 
    - run: unexpected exception while executing sql (SELECT 1 FROM DUAL;):
      ORA-00933: SQL command not properly ended
java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
    (...)

这里似乎有什么问题?

问题是尾随分号。删除后...

SELECT 1 FROM DUAL

...保持活动状态功能开始正常工作。