gpt4 book ai didi

derby - 将tigase从derby移植到hsqldb…如何调用存储的Java过程并丢弃(忽略)结果?

转载 作者:行者123 更新时间:2023-12-02 09:46:18 24 4
gpt4 key购买 nike

尝试将tigase配置为使用hsqldb(hsqldb-1.8.0.9-1jpp.2)代替derby(不要问为什么,那不是重点),并且一切正常,除了最后设置一些属性。在 Derby ,我有

CREATE procedure TigAddUserPlainPw(userId varchar(2049), userPw varchar(255)) 
PARAMETER STYLE JAVA
LANGUAGE JAVA
MODIFIES SQL DATA
DYNAMIC RESULT SETS 1
EXTERNAL NAME 'tigase.db.derby.StoredProcedures.tigAddUserPlainPw';


call TigAddUserPlainPw('db-properties', NULL);

当我尝试通过hsqldb来代替它时
CREATE ALIAS TigAddUserPlainPw
FOR "tigase.db.derby.StoredProcedures.tigAddUserPlainPw";


CALL TigAddUserPlainPw('db-properties', NULL);

我收到此错误消息
[root@tikanga scripts]# ./hsqldb-db-create.sh /var/lib/tigase/db/tigase
SQL Error at '/etc/tigase/database/hsqldb-schema-4-props.sql' line 1:
"CALL TigAddUserPlainPw('db-properties', NULL)"
Wrong data type: [Ljava.sql.ResultSet; in statement [CALL TigAddUserPlainPw(]

任何想法,我在做什么错?

最佳答案

您不能按原样使用Java静态方法。 HSQLDB 1.8.x不接受Result []参数。

转换为HSQLDB 2.0会更容易,因为它的存储过程支持比1.8版有所改进。

您的示例表明,我们需要对HSQLDB进行更多改进以支持这些过程声明。

关于derby - 将tigase从derby移植到hsqldb…如何调用存储的Java过程并丢弃(忽略)结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3237182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com