繁体   English   中英

从JDBC调用HSQL函数

[英]Calling HSQL function from JDBC

我直接从文档中在HSQLDB 2.3.4中具有以下存储过程函数

CREATE FUNCTION an_hour_before (t TIMESTAMP)
   RETURNS TIMESTAMP
   RETURN t - 1 HOUR;
/;

我尝试用

try (Connection connection = this.dataSource.getConnection()) {
    try (CallableStatement call = connection.prepareCall("{ ? = call an_hour_before(?)}")) {
        ...
    }
}

我得到一个NullPointerException与以下堆栈跟踪

java.lang.NullPointerException
    at org.hsqldb.StatementProcedure.getParametersMetaData(Unknown Source)
    at org.hsqldb.result.Result.newPrepareResponse(Unknown Source)
    at org.hsqldb.Session.execute(Unknown Source)
    at org.hsqldb.jdbc.JDBCPreparedStatement.<init>(Unknown Source)
    at org.hsqldb.jdbc.JDBCCallableStatement.<init>(Unknown Source)
    at org.hsqldb.jdbc.JDBCConnection.prepareCall(Unknown Source)
    at com.acme.HsqlTest.test(HsqlTest.java:42)
    ...

这是HSQLDB 2.3.4的一个已知问题,已在SVN存储库中修复。 使用早期发行版或从/ base / trunk代码编译jar。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM