程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> DB2用戶表批量授權

DB2用戶表批量授權

編輯:關於PHP編程

DB2用戶表批量授權



一、新建用戶
[root@localhost ~]# passwd ghan
Changing password for user ghan.
New UNIX password:
BAD PASSWORD: it is too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# su - db2inst2
[db2inst2@localhost ~]$ db2 connect to ghan user ghan
輸入 ghan 的當前密碼:


數據庫連接信息


數據庫服務器 = DB2/LINUXX8664 9.7.5
SQL 授權標識 = GHAN
本地數據庫別名 = GHAN


二、訪問db2int2.t2表報錯

[db2inst2@localhost ~]$ db2 "select count(1) from db2inst2.t2"
SQL0551N "GHAN" 不具有對對象 "DB2INST2.T2" 執行操作 "SELECT"
的必需權限或特權。 SQLSTATE=42501



[db2inst2@localhost ~]$ db2 connect to ghan


數據庫連接信息


數據庫服務器 = DB2/LINUXX8664 9.7.5
SQL 授權標識 = DB2INST2
本地數據庫別名 = GHAN

三、生成授權腳本
[db2inst2@localhost ~]$ db2 -x +o -z commands.sql "select 'grant select,insert, update, delete on table ' || trim(tabschema) || '.' || trim(tabname) || ' to user ghan;' from syscat.tables where type = 'T'"
四、修改指寫表授權
[db2inst2@localhost ~]$ vi commands.sql

****略***

五、執行授權語句
[db2inst2@localhost ~]$ db2 -tsvf commands.sql
grant select,insert, update, delete on table DB2INST2.EMPL to user ghan
DB20000I SQL 命令成功完成。


grant select,insert, update, delete on table DB2INST2.EMPLDD to user ghan
DB20000I SQL 命令成功完成。


grant select,insert, update, delete on table DB2INST2.STAFF to user ghan
DB20000I SQL 命令成功完成。


grant select,insert, update, delete on table DB2INST2.T1 to user ghan
DB20000I SQL 命令成功完成。



[db2inst2@localhost ~]$ db2 connect to ghan user ghan
輸入 ghan 的當前密碼:


數據庫連接信息


數據庫服務器 = DB2/LINUXX8664 9.7.5
SQL 授權標識 = GHAN
本地數據庫別名 = GHAN

六、測試授權結果

[db2inst2@localhost ~]$ db2 "select count(*) from db2inst2.t1"


1
-----------
4


1 條記錄已選擇。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved