防止用户在 H2 中创建表

Posted

技术标签:

【中文标题】防止用户在 H2 中创建表【英文标题】:Preventing a user from creating table in H2 【发布时间】:2013-11-22 09:10:41 【问题描述】:

在 H2 DBMS 中,我希望用户(顺便说一下,他不是管理员)不能更改数据库架构。 但令人惊讶的是,尽管我没有授予该用户创建表的能力(我没有使用 SQL 语句 grant alter any schema to u1)。该用户能够创建但不能删除或更改表!!!!!! ! 有没有办法撤销在 H2 DBMS 中从用户创建表的能力? 我希望用户能够创建用户但不能更改架构的另一件事是这可能吗?

【问题讨论】:

【参考方案1】:

目前不可能。

H2 数据库的访问权限目前是非常基础的。如果您需要更多功能,或者课程,您可以编写 H2 Google Group 或编写补丁。

【讨论】:

我确实注意到 H2 仍然很基础,对于大规模应用来说还不够成熟 假设它还没有准备好用于复杂的应用程序:-) 它仍然主要用作嵌入式数据库和测试,在这两种情况下只需要基本的访问权限管理功能。跨度> 【参考方案2】:

对于最后一部分,如果他不是管理员,他不应该对用户管理做任何事情。 您能否提供有关您授予该用户的权限的更多信息?

【讨论】:

我希望用户能够创建一个新用户但不能改变数据库架构

以上是关于防止用户在 H2 中创建表的主要内容,如果未能解决你的问题,请参考以下文章

为啥我不能在我的 H2 数据库中创建表?

如何在oracle10G中创建表空间

Hibernate 不会在 h2 中为使用 @Entity 注释的类创建专用表

无法使用 JPA 在 H2 中创建表和加载数据

如何在 Laravel 5 中创建表迁移

Oracle 10g中如何创建表