Java 如何为用户检查DB2 SYSADM或SYSCTRL授权
如何为用户检查DB2 SYSADM或SYSCTRL授权 我需要通过DB2权限来验证用户/密码,以创建/删除数据库。这有什么特别的命令吗Java 如何为用户检查DB2 SYSADM或SYSCTRL授权,java,db2,Java,Db2,如何为用户检查DB2 SYSADM或SYSCTRL授权 我需要通过DB2权限来验证用户/密码,以创建/删除数据库。这有什么特别的命令吗 我需要用一个命令来验证用户/密码,该命令告诉用户是否有权创建和删除数据库(意味着在启动数据库创建命令之前尝试验证) 这就是我在unixshell中所做的,适应java等价物应该不会太难 createdb=$(db2 get authorizations|egrep 'SYSADM|SYSCTRL' | grep -c ' = YES') if [[ $creat
我需要用一个命令来验证用户/密码,该命令告诉用户是否有权创建和删除数据库(意味着在启动数据库创建命令之前尝试验证) 这就是我在unixshell中所做的,适应java等价物应该不会太难
createdb=$(db2 get authorizations|egrep 'SYSADM|SYSCTRL' | grep -c ' = YES')
if [[ $createdb ]]; then
echo 'Do it'
fi
这就是我在unixshell中所做的,适应java等价物并不难
createdb=$(db2 get authorizations|egrep 'SYSADM|SYSCTRL' | grep -c ' = YES')
if [[ $createdb ]]; then
echo 'Do it'
fi
试试这个;这意味着ID对下面查询中引用的视图具有SELECT
select 1 from
sysibmadm.dbmcfg t1 join
sysibmadm.authorizationids t2 on t1.value=t2.authid
where t1.name='sysadm_group' fetch first row only
with ur
上述查询中的SQL0551也表示连接的用户没有SYSADM。试试这个;这意味着ID对下面查询中引用的视图具有SELECT
select 1 from
sysibmadm.dbmcfg t1 join
sysibmadm.authorizationids t2 on t1.value=t2.authid
where t1.name='sysadm_group' fetch first row only
with ur
上述查询中的SQL0551也表示连接的用户没有SYSADM。“获取授权”
命令在9.7版中被中断。
“AUTH\u LIST\u AUTHID的授权”
应改用表函数
db2 connect
db2 SELECT VARCHAR(AUTHORITY, 30) AS AUTHORITY,
D_USER,
D_GROUP,
D_PUBLIC,
ROLE_USER,
ROLE_GROUP,
ROLE_PUBLIC,
D_ROLE
FROM TABLE(SYSPROC.AUTH_LIST_AUTHORITIES_FOR_AUTHID('ALICE', 'U'))
WHERE AUTHORITY = 'SYSADM' OR AUTHORITY = 'DBADM'
链接:“获取授权”
命令在9.7版中停止使用。
“AUTH\u LIST\u AUTHID的授权”
应改用表函数
db2 connect
db2 SELECT VARCHAR(AUTHORITY, 30) AS AUTHORITY,
D_USER,
D_GROUP,
D_PUBLIC,
ROLE_USER,
ROLE_GROUP,
ROLE_PUBLIC,
D_ROLE
FROM TABLE(SYSPROC.AUTH_LIST_AUTHORITIES_FOR_AUTHID('ALICE', 'U'))
WHERE AUTHORITY = 'SYSADM' OR AUTHORITY = 'DBADM'
链接:谢谢@Ingo。我需要用一个命令来验证用户/密码,该命令告诉用户是否有权创建/删除数据库。但上述命令仅适用于现有数据库,而在我的情况下,现有数据库不存在。@Kishore-您仍然可以检查用户是否是在实例配置中配置的组的成员。(如何做到这一点是特定于操作系统的。在UNIX中,请查找id命令。)但我不知道如何使用特定于操作系统的Java代码验证用户是的,这是可以理解的,因为Java不处理不可移植的操作系统级细节。不过,还有Runtime.execThank@Ingo。我需要用一个命令来验证用户/密码,该命令告诉用户是否有权创建/删除数据库。但上述命令仅适用于现有数据库,而在我的情况下,现有数据库不存在。@Kishore-您仍然可以检查用户是否是在实例配置中配置的组的成员。(如何做到这一点是特定于操作系统的。在UNIX中,请查找id命令。)但我不知道如何使用特定于操作系统的Java代码验证用户是的,这是可以理解的,因为Java不处理不可移植的操作系统级细节。尽管如此,仍然存在Runtime.exec