我在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的授权语法没有指定应该应用授权的对象类型。
我错过了什么?
答案 0 :(得分:5)
所以...更接近地阅读H2文档(参见here)表明h2中的'grant right'语句仅适用于表。因此错误。由于我使用H2进行单元测试,并且脚本在Oracle上运行,我将需要跳过授权 暂时。