如何为新创建的用户运行db2look命令

问题描述 投票:1回答:1

我正在使用db2来获取对象的ddl。

我在Windows 10中创建了具有hunny名称的新用户。

我在db2中获取对象的ddl所执行的命令是: -

db2look  -i hunny -w hunny -z admin -d sample -server 192.168.1.64 -dp -td : -e -x -o C:\test\db_new.sql

当我使用cmd执行该命令时,我得到了以下错误。

 Error Message =
SQL0551N  The statement failed because the authorization ID does not have
the required authorization or privilege to perform the operation.
Authorization ID: "HUNNY".  Operation: "EXECUTE". Object:
"NULLID.DB2L2O1W".  SQLSTATE=42501


SQLCA
Size    = 136
SQLCODE = -551
Tokens  = HUNNY _ EXECUTE _ NULLID.DB2L2O1W
RDS fn  = SQLRA13E
RC      = 0x801A006D = -2145779603
Reason  = 0x0000 = 0
Reason2 = 0x0000 = 0
Line #  = -20
Warning flags =

请建议我应该给用户执行db2look命令的权限类型。

cmd db2 ddl
1个回答
0
投票

至少,db2look需要在目录表上使用SELECT(默认情况下,它可用于PUBLIC - 应该没问题)。

该错误可能是由程序包绑定引起的。如果执行db2look的用户有SYSADM和DBADM,那么一切正常。但在这种情况下,并不存在绑定db2look包的所有权限。我建议看看this blog article解释如何解决它。

© www.soinside.com 2019 - 2024. All rights reserved.