2

我在 H2 上运行一个脚本,它执行以下操作:

create role admin_role;
create user app_user password 'password' ;

grant admin_role to app_user;

create sequence from_event_seq;
grant select on from_event_seq to admin_role;

令人沮丧的是,这不起作用,我收到以下错误:

 [Error Code: 42102, SQL State: 42S02]  Table "FROM_EVENT_SEQ" not found; SQL statement: grant select on  from_event_seq to admin_role [42102-154]

奇怪的是,错误消息似乎认为我正在尝试授予表(42102 是未找到表错误)。此外,我实际上可以查询序列并且它可以工作(这意味着它已经被创建)。H2 的授权语法未指定应将授权应用于何种对象类型。

我错过了什么?

4

1 回答 1

7

所以...仔细阅读 H2 文档(请参阅此处)表明 h2 中的“授予权利”语句仅适用于表。因此错误。由于我使用 H2 进行单元测试,并且脚本最终要在 Oracle 上运行,所以我暂时需要跳过授权。

于 2012-08-23T14:53:23.023 回答