测试抛出异常说用户缺少权限或找不到对象:将 HSQLDB 更新到 2.0.0 后的 REFERENTIAL_INTEGRITY

Posted

技术标签:

【中文标题】测试抛出异常说用户缺少权限或找不到对象:将 HSQLDB 更新到 2.0.0 后的 REFERENTIAL_INTEGRITY【英文标题】:Tests throw exception saying user lacks privilege or object not found: REFERENTIAL_INTEGRITY after update HSQLDB to 2.0.0 【发布时间】:2011-03-02 22:33:26 【问题描述】:

最近我将我的 maven HSQL 依赖项从 1.8.1.2 版本升级到了 org.hsqldb:hsqldb:2.0.0。然而,所有使用 HSQLDB 的测试都失败了,只有一个例外:

org.hsqldb.HsqlException: user lacks privilege or object not found: REFERENTIAL_INTEGRITY

我用谷歌搜索并找到了一些答案,但我发现它们很难理解。如何修复我的测试?在升级之前,我的测试工作正常。

【问题讨论】:

【参考方案1】:

这里指的是语句

SET REFERENTIAL_INTEGRITY  TRUE | FALSE 

此语句已更改为

SET DATABASE REFERENTIAL INTEGRITY  TRUE | FALSE

一旦在 Maven 上发布,您应该使用 HSQLDB 2.1,因为它具有错误修复和更好的向后兼容性。同时你可以使用最新的 2.1 RC4 或者来自http://hsqldb.org/support/的jar 快照

【讨论】:

刚刚找到这个答案。我注意到hsqldb.org 的 html 用户指南的最新版本(截至 05/2013)继续将此选项的语法描述为 SET REFERENTIAL_INTEGRITY TRUE |假

以上是关于测试抛出异常说用户缺少权限或找不到对象:将 HSQLDB 更新到 2.0.0 后的 REFERENTIAL_INTEGRITY的主要内容,如果未能解决你的问题,请参考以下文章

HsqldbException:用户缺少权限或找不到对象:TABLE

无法连接到 OpenOffice Base - 用户缺少权限或找不到对象异常

单元测试引发:HsqlException 用户缺少权限或找不到对象:ROWNUM

已保存查询的用户缺少权限或找不到对象错误

HSQLDB:用户缺少权限或找不到对象错误

错误:java.sql.SQLSyntaxErrorException:用户缺少权限或找不到对象:ACCOUNTS