2017-12-27 4 views
0

ausführen Ich arbeite an db2, um ddl von Objekten zu erhalten.Wie kann ich den Befehl db2look für den neu erstellten Benutzer

Ich habe neue Benutzer erstellen mit hunny Namen in Windows 10.

Der Befehl, die ich ausgeführt haben ddl von Objekten in db2 zu bekommen, ist: -

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

Wenn ich diesen Befehl ausgeführt unter Verwendung von cmd dann habe ich folgenden fehler bekommen.

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 = 

Bitte schlagen Sie vor, welche Art von Privilegien ich dem Benutzer geben sollte, um den Befehl db2look auszuführen.

Antwort

0

Mindestens db2look erfordert SELECT in den Katalogtabellen (standardmäßig ist es verfügbar PUBLIC - sollte in Ordnung sein).

Der Fehler wird wahrscheinlich durch das Binden von Paketen verursacht. Wenn der Benutzer, der db2look ausführt, über SYSADM und DBADM verfügt, ist alles in Ordnung. In diesem Fall sind jedoch nicht alle Berechtigungen zum Binden der Pakete für db2look vorhanden. Ich empfehle einen Blick auf this blog article, die erklärt, wie man es umgehen kann.

Verwandte Themen