В качестве разработчика я использую ноутбук с ОС Windows XP Professional Edition, Service Pack 3.
Я скачал и установил пакет исправлений 4 IBM DB2 UDB 9.7, редакции Express-C.
У меня есть локальная учетная запись Windows с именем db2admin, которую я использую в качестве администратора локальной базы данных для локальной установки DB2 (только для разработчиков).
Я могу запустить следующее без проблем при запуске окна команд:
db2 attach to db2 user db2admin using xxxxxxxxxx
Это позволяет мне подключаться к моему экземпляру под названием DB2.
Я могу запустить мои команды создания базы данных.
Затем я пытаюсь подключиться к базе данных, чтобы предоставить все привилегии для моей учетной записи db2admin в 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;
Однако, когда я запускаю это, DB2 сообщает мне, что моя действительная учетная запись пользователя Windows (synprgcma) не имеет полномочий для предоставления полномочий пользователю db2admin.
Поэтому, если я изменю второй скрипт на следующий:
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;
Затем DB2 говорит мне, что db2admin не может отозвать или предоставить полномочия самому себе (на самом деле он говорит мне, что идентификатор не может отозвать или предоставить полномочия самому себе).
Так что я в тупике. У меня не было этой проблемы с моей предыдущей установкой DB2 (9.5, и я не помню, какой пакет исправлений у меня был).
Как я могу предоставить необходимые полномочия локальной учетной записи администратора? Я считаю, что это нужно для того, чтобы выполнить команду связывания, которую мне нужно сделать дальше:
db2 CONNECT TO MYDB;
db2 bind @db2cli.lst blocking all grant public sqlerror continue CLIPKG 20;
db2 CONNECT RESET;
Любая помощь будет оценена.
Изменить: я нашел некоторые из следующих ссылок, связанных с этим. Все еще не уверен, как заставить это работать, но по крайней мере я нашел некоторую документацию.
- 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