3

Javaアプリケーションで、管理権限を持つDB2に2つのデータベースを作成しました。アプリケーションを使用して、LAN経由で同じデータベースにアクセスしたいが、他の(同じドメイン内の)ドメインユーザーにデータベース特権を付与して、エンドユーザーと同じデータベースにアクセスできるようにする必要があります。

DB2 GRANTコマンドを試しましたが、他のユーザーがそれらのデータベースにアクセスすることはできません。ただし、管理者と同じユーザー/ pwdを使用している場合、DB2はデータベースへのアクセスを許可します。ただし、管理者ユーザー/pwdを知ることはセキュリティの問題である可能性があります。

コマンドプロンプト、すなわちdb2cmdでこれを行う方法はありますか?

GRANT CONNECT,ACCESSCTRL,DATAACCESS,DBADM,SECADM ON DATABASE TO USER Kishore

このコマンドは問題を解決しません。

前もって感謝します。

@IanBjorhovdeが提案したように私はしました。これで、DB2サービスはDomain \ Adminとして実行され、GRANTコマンドは正常に実行されますが、他のドメインユーザーは、Adminによって作成されたDBに(独自の認証で)接続できません。このコードが使用されます

DriverManager.getConnection("jdbc:db2://SERVERNAME:50000/TESTDB", UserName, PassWord);

接続は作成されますが、Domain \ UserNameとして指定されたUserNameでさえ、SELECTクエリを実行しているときにSQL例外(SQLCODE = -204)をスローします。

4

1 に答える 1

2

ドメインに対して認証するには、DB2サービス(インスタンス)がドメインアカウントを使用して実行されている必要があります。ローカルマシンで定義されたアカウントを使用して開始することはできません。インスタンスを停止してから、WindowsサービスパネルからDB2サービスを変更してドメインIDの使用を開始できます。

ここに記載されているように、このドメインIDに十分な権限があることを確認してください。

于 2012-06-06T12:58:41.357 に答える