尝试在HSQLDB中设置集群表时访问被拒绝的异常

时间:2014-07-25 03:15:50

标签: java hsqldb

我有一个带有唯一索引的表订单 -

CREATE UNIQUE INDEX Idx_Date_States ON Orders(ReportDate, CustomerState, SellerState);

当我尝试在表上创建聚簇索引时,即使没有与数据库的其他连接,我也会收到访问被拒绝的异常 -

 java.sql.SQLException: Access is denied in statement [SET TABLE Orders
 CLUSTERED ON (ReportDate, CustomerState, SellerState)]
         at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
         at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
         at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)
         at org.hsqldb.jdbc.JDBCStatement.execute(Unknown Source)

这可能是什么问题?

1 个答案:

答案 0 :(得分:0)

您的表必须是CACHED表,否则抛出此异常。

如果您想要给定列的唯一性,请创建PRIMARY KEY或UNIQUE约束,而不是索引。

索引不需要是UNIQUE索引就可以使其聚类。

您可以为任何索引或UNIQUE约束的列执行语句。