J'ai comme station de développeur un ordinateur portable avec OS Windows XP Professional Edition, Service Pack 3.
J'ai téléchargé et installé le groupe de correctifs 4 d'IBM DB2 UDB 9.7, de l'édition Express-C.
J'ai un compte Windows local appelé db2admin que j'utilise en tant qu'administrateur de base de données local pour mon installation locale de DB2 (à des fins de développement uniquement).
Je peux exécuter ce qui suit sans problème lors de l'exécution de la fenêtre de commande:
db2 attach to db2 user db2admin using xxxxxxxxxx
Cela me permet de me connecter à mon instance appelée DB2.
Je peux exécuter mes commandes de création de base de données.
J'essaie ensuite de me connecter à la base de données pour accorder tous les privilèges pour mon compte db2admin dans DB2.
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;
Cependant, lorsque j'exécute cela, il DB2 me dit que mon compte d'utilisateur Windows réel (synprgcma) n'a pas le pouvoir d'accorder l'autorisation à l'utilisateur db2admin.
Donc, si je change le deuxième script comme suit:
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;
Ensuite, DB2 m'indique que db2admin ne peut pas révoquer ou s'octroyer des pouvoirs (en fait, il me dit qu'un identifiant ne peut pas révoquer ou s'octroyer des pouvoirs).
Je suis donc perplexe. Je n'ai pas eu ce problème avec mon installation précédente de DB2 (9.5, et je ne me souviens plus à quel groupe de correctifs j'étais).
Comment accorder les autorisations nécessaires au compte d'administrateur local? Je crois que j'en ai besoin pour exécuter une commande de liaison que je dois faire ensuite:
db2 CONNECT TO MYDB;
db2 bind @db2cli.lst blocking all grant public sqlerror continue CLIPKG 20;
db2 CONNECT RESET;
Toute aide serait appréciée.
Edit: J'ai trouvé certains des liens suivants liés à cela. Je ne sais toujours pas encore comment le faire fonctionner, mais au moins j'ai trouvé de la documentation.
- 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