无法撤销架构权限"创建"

  • 本文关键字:权限 创建 db2
  • 更新时间 :
  • 英文 :


我需要在名为 THOMAS.XXXXXXX@XXX.XXX.XXX 的架构中撤销 PUBLIC 的 CREATEIN 权限,我连接到数据库并键入以下命令

这个用于验证 PUBLIC 在架构中是否具有创建权限

db2 "select schemaname,CREATEINAUTH from SYSCAT.SCHEMAAUTH where GRANTEE= 'PUBLIC'"
SCHEMANAME                                              CREATEINAUTH                                                   
THOMAS.XXXXXXX@XXX.XXX.XXX                                   Y
db2 revoke CREATEIN ON SCHEMA 'THOMAS.XXXXXXX@XXX.XXX.XXX' FROM PUBLIC
DB21034E  The command was processed as an SQL statement because it was not a 
valid Command Line Processor command.  During SQL processing it returned:
SQL0108N  The name "COM" has the wrong number of qualifiers.  SQLSTATE=42601

我也尝试使用",但得到了相同的结果

db2 "revoke CREATEIN ON SCHEMA THOMAS.XXXXXXX@XXX.XXX.XXX FROM PUBLIC"
DB21034E  The command was processed as an SQL statement because it was not a 
valid Command Line Processor command.  During SQL processing it returned:
SQL0108N  The name "COM" has the wrong number of qualifiers.  SQLSTATE=42601

试试这个:

db2 "revoke CREATEIN ON SCHEMA "THOMAS.XXXXXXX@XXX.XXX.XXX" FROM PUBLIC"

如果 db2 命令中存在操作系统命令行不接受的任何特殊字符,那么可以使用一些分隔符将该命令保存在文件中,然后从操作系统命令行运行该文件。

例如,创建一个文件名为"撤销"的文件.sql并在其中保留以下语句:

从公共中撤销在架构 THOMAS.XXXXXXX@XXX.XXX.XXX 上创建;

然后,您可以按如下方式执行此文件: DB2 -TVF 撤销.sql

最新更新