【发布时间】:2019-02-10 04:01:15
【问题描述】:
当我跑步时:
select * from sys.server_role_members ;
出现以下错误:
SQLCODE=-204, SQLSTATE=42704, DRIVER=4.18.60
【问题讨论】:
标签: db2 ibm-data-studio
当我跑步时:
select * from sys.server_role_members ;
出现以下错误:
SQLCODE=-204, SQLSTATE=42704, DRIVER=4.18.60
【问题讨论】:
标签: db2 ibm-data-studio
由于您似乎是初学者,因此您需要知道,在寻求 Db2 方面的帮助时,务必始终编写您的 Db2 版本和 Db2-server 操作系统(Z/OS、i-Series(以前称为AS/400),或 Linux/Unix/Windows)。那是因为三个平台的能力不同,有时SQL也不一样,目录也不一样。
您收到该错误是因为您的查询仅适用于 Microsoft SQL-Server 数据库。
您的查询无法在 Db2 上运行,因为 Db2 不允许用户创建的模式名称以 SYS 开头。一些 IBM 创建的模式名称可以以 SYS 开头,例如 SYSIBM 和 SYSCAT,但它们是为目录保留的,它们是由 Db2 在数据库创建期间创建的。
Db2 具有 SYSIBM.SYSROLEAUTH 和 SYSIBM.SYSROLES 等表,以及(在 Linux/Unix/Windows 上)SYSCAT 模式中的一组视图。
例如,如果您的 Db2 服务器在 Linux/Unix/Windows 上运行,那么这些视图存在 SYSCAT.ROLES 和 SYSCAT.ROLEAUTH。
另外,Db2 for Linux/Unix/Windows 提供了表函数AUTH_LIST_AUTHORITIES_FOR_AUTHID,非常有用。
如果您的 Db2 服务器在 i 系列上运行,则存在 不同 表/视图。这就是您需要知道您正在使用哪个 Db2 平台并将其写在您的问题中的原因。
【讨论】: