0

接続しているデータベースの「test」というユーザーに、追加、更新、および削除の権限を付与する必要があります。

構文はどうなりますか?私はもう試した:

db2 grant add, update, delete on database to test

運がなければ。

AIX で DB2 10 を使用しています (コマンドライン)

4

1 に答える 1

1

データベースとそのオブジェクトで付与できる権限の種類を確認する必要があります。

「追加」は挿入だと思いますが、それはデータベースではなくテーブルに対して許可されています。更新と削除も同様です。

sysadm、dbadm、または secadm などの上位権限を持っている場合にのみ、自分自身に許可を与えることができます (DB2 のバージョンおよび構成されているセキュリティーによって異なります)。

例えば:

db2 grant insert, update, delete on table db2inst1.emp to user test

スキーマ db2inst1 のテーブル emp に対するすべての DML 権限を付与するには

それをすべてのテーブルに付与する場合は、付与文を生成する必要があります。

db2 -x +o -z commands.sql "select 'grant insert, update, delete on table ' || trim(tabschema) || '.' || trim(tabname) || ' to user test;' from syscat.tables where type = 'T'" >
db2 -tvf commands.sql

最初のコマンドは、カタログにアクセスするだけで、動的にすべての許可を生成しました。2 つ目は、最初のコマンドの出力の実行です。

最終的には、パイプを介して 1 行で両方のコマンドを実行できますが、出力をブロックする Unix の制限があります。

db2 -x "select 'grant inser... ... pe = 'T'" | db2 +p -tv
于 2013-03-21T09:29:30.857 に答える