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)をスローします。