Ich habe als Entwicklerstation einen Laptop mit OS Windows XP Professional Edition, Service Pack 3.
Ich habe IBM DB2 UDB 9.7 Fixpack 4 der Express-C Edition heruntergeladen und installiert.
Ich habe ein lokales Windows-Konto namens db2admin, das ich als lokaler Datenbankadministrator für meine lokale Installation von DB2 verwende (nur für Entwickler).
Ich kann Folgendes ohne Probleme ausführen, wenn ich das Befehlsfenster ausführe:
db2 attach to db2 user db2admin using xxxxxxxxxx
Dadurch kann ich eine Verbindung zu meiner Instanz namens DB2 herstellen.
Ich kann meine Befehle zum Erstellen einer Datenbank ausführen.
Ich versuche dann, eine Verbindung zur Datenbank herzustellen, um alle Berechtigungen für mein db2admin-Konto in DB2 zu erteilen.
db2 CONNECT TO MYDB;
SET SCHEMA DB2ADMIN;
db2 GRANT DBADM,CREATETAB,BINDADD,CONNECT,CREATE_NOT_FENCED_ROUTINE,IMPLICIT_SCHEMA,LOAD,CREATE_EXTERNAL_ROUTINE,QUIESCE_CONNECT,SECADM ON DATABASE TO USER DB2ADMIN;
CONNECT RESET;
Wenn ich das jedoch ausführe, teilt mir DB2 mit, dass mein tatsächliches Windows-Benutzerkonto (synprgcma) nicht berechtigt ist, dem Benutzer db2admin die Berechtigung zu erteilen.
Wenn ich also das zweite Skript wie folgt ändere:
db2 CONNECT TO MYDB USER db2admin USING xxxxxxxx;
SET SCHEMA DB2ADMIN;
db2 GRANT DBADM,CREATETAB,BINDADD,CONNECT,CREATE_NOT_FENCED_ROUTINE,IMPLICIT_SCHEMA,LOAD,CREATE_EXTERNAL_ROUTINE,QUIESCE_CONNECT,SECADM ON DATABASE TO USER DB2ADMIN;
CONNECT RESET;
Dann teilt mir DB2 mit, dass db2admin sich selbst keine Berechtigung entziehen oder erteilen kann (tatsächlich sagt es mir, dass eine ID sich selbst keine Berechtigung entziehen oder erteilen kann).
Also bin ich ratlos. Ich hatte dieses Problem bei meiner vorherigen Installation von DB2 (9.5, und ich kann mich nicht erinnern, auf welchem Fixpack ich war) nicht.
Wie erteile ich dem lokalen Administratorkonto die erforderlichen Berechtigungen? Ich glaube, ich brauche dies, um einen Bindungsbefehl auszuführen, den ich als nächstes ausführen muss:
db2 CONNECT TO MYDB;
db2 bind @db2cli.lst blocking all grant public sqlerror continue CLIPKG 20;
db2 CONNECT RESET;
Jede Hilfe wäre dankbar.
Bearbeiten: Ich habe einige der folgenden Links dazu gefunden. Ich bin mir immer noch nicht sicher, wie ich es zum Laufen bringen soll, aber zumindest habe ich eine Dokumentation gefunden.
- http://www.db2teamblog.com/2009/06/whats-new-in-db2-97.html
- http://lpetr.org/blog/archives/simplify-the-db2-9-7-security-model
- http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=%2Fcom.ibm.db2.luw.sql.ref.doc%2Fdoc%2Fr0000958.html
- http://www.ibm.com/developerworks/forums/thread.jspa?messageID=14288459
- http://publib.boulder.ibm.com/infocenter/tivihelp/v4r1/index.jsp?topic=%2Fcom.ibm.tpc_V422.doc%2Ffqz0_t_preparing_to_install_db2_windows.html
- http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=%2Fcom.ibm.db2.luw.admin.sec.doc%2Fdoc%2Fc0055206.html
- http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=%2Fcom.ibm.db2.luw.admin.sec.doc%2Fdoc%2Fc0005479.html