DB2 ユーザーテーブルのバッチ認証
1. 新しいユーザー
[root@localhost ~]# passwd ghan
ユーザー ghan のパスワードを変更します。
新しい UNIX パスワード:
間違ったパスワード: 短すぎます
新しい UNIX パスワードを再入力します:
passwd: すべての認証トークンが正常に更新されました。
[root@localhost ~]# su - db2inst2
[db2inst2@localhost ~]$ db2 connect to ghan user ghan
ghan の現在のパスワードを入力してください:
データベース接続情報
データベースサーバー = DB2/LINUXX8664 9.7.5
SQL 認可 ID = GHAN
ローカル データベース エイリアス = GHAN
2. 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 認可 ID = DB2INST2
ローカルデータベース別名 = GHAN
3. 認可スクリプトを生成します
[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'"
4. テーブルへの書き込み権限を変更します
[db2inst2@localhost ~]$ vicommand.sql
****省略***
5. 認可ステートメントを実行します
[db2inst2@localhost ~]$ db2 -tsvf Commands.sql
テーブル DB2INST2.EMPL に対する選択、挿入、更新、削除をユーザー ghan に許可します
DB20000I SQL コマンドが正常に完了しました。
テーブル DB2INST2.EMPLDD に対する選択、挿入、更新、削除をユーザー ghan に許可します
DB20000I SQL コマンドが正常に完了しました。
テーブル DB2INST2.STAFF に対する選択、挿入、更新、削除をユーザー ghan に許可します
DB20000I SQL コマンドが正常に完了しました。
テーブル DB2INST2.T1 の選択、挿入、更新、削除をユーザー ghan に許可します
DB20000I SQL コマンドが正常に完了しました。
[db2inst2@localhost ~]$ db2 connect to ghan user ghan
ghan の現在のパスワードを入力してください:
データベース接続情報
データベースサーバー = DB2/LINUXX8664 9.7.5
SQL 許可 ID = GHAN
local Database alias = GHAN
6. テスト認可結果
[db2inst2@localhost ~]$ db2 "select count(*) from db2inst2.t1"
1
----------
4
1 件のレコードが選択されました。
http://www.bkjia.com/PHPjc/1068094.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1068094.html技術記事 DB2 ユーザーテーブルのバッチ認可 1. 新しいユーザー [root@localhost ~]# passwd ghan ユーザー ghan のパスワードを変更しています。 新しい UNIX パスワード: 間違ったパスワード: 短すぎます 新しい UNIX パスワードを再入力します...