Dou*_*ise 5 ddl firebird alter-table
当我尝试在Firebird中更改来自不同所有者的表时,我收到此错误:
unsuccessful metadata update
MODIFY RDB$RELATION_FIELDS failed
no permission for control access to TABLE TAGS
Run Code Online (Sandbox Code Playgroud)
我已经为此用户授予了所有权限,还有REFERENCES权限,但我仍然收到此错误.
有谁知道如何解决这个问题?
我使用Firebird 1.5
谢谢
Interbase 6.0语言参考(可从http://www.firebirdsql.org/en/reference-manuals/获取)ALTER TABLE状态:
表可以由其创建者,SYSDBA用户以及具有操作系统超级用户权限的任何用户进行更改.
换句话说,如果您不是表的所有者,则需要以登录身份登录SYSDBA,或者需要以数据库的形式在root或Adminstrator上登录.有 - 据我所知 - 没有其他方法可以将表更改为不同的用户.
在Firebird 2.5中,还有一个RDB$ADMIN角色允许被授予此角色的用户使用与SYSDBA相同的权限.
您可以使用的权限GRANT(除外REFERENCES)仅适用于DML,不适用于DDL操作.
Firebird 3引入了元数据权限,允许您将这些权限授予特定对象类型的特定角色用户.
例如:
GRANT ALTER ANY TABLE TO Joe;
Run Code Online (Sandbox Code Playgroud)
将允许用户Joe更改当前数据库中的任何表.
| 归档时间: |
|
| 查看次数: |
2108 次 |
| 最近记录: |