当我发出 isql 命令时:
create database "localhost:testdb.fdb" user milenio password "secret";
我收到以下错误:
Statement failed, SQLSTATE = 28000
no permission for CREATE access to DATABASE testdb.fdb
我错过了什么?如何向用户 milenio 授予必要的权限?
当我发出 isql 命令时:
create database "localhost:testdb.fdb" user milenio password "secret";
我收到以下错误:
Statement failed, SQLSTATE = 28000
no permission for CREATE access to DATABASE testdb.fdb
我错过了什么?如何向用户 milenio 授予必要的权限?
在 Firebird 3 中,用户要么需要拥有(并登录)RDB$ADMIN
角色,要么用户(或他当前的角色)需要拥有CREATE DATABASE
创建数据库的权限。
另请参阅 Firebird 3 发行说明User Privileges for Metadata Changes:
GRANT CREATE DATABASE TO [USER | ROLE] <user-name> | <role-name>;
或者具体来说,将此权限授予 user milenio
:
grant create database to user milenio;
然后是提交。
这需要由 SYSDBA 或具有RDB$ADMIN
安全数据库角色的用户执行。