在Java应用程序中,我使用管理权限在DB2中创建了2个数据库。现在使用应用程序,希望通过LAN访问相同的数据库,但需要将数据库特权授予其他(在同一个域中)域用户,以便他们可以像最终用户一样访问相同的数据库。如何将DB2中的数据库特权授予其他域用户
我试过DB2 GRANT命令,但它不允许其他人访问这些数据库,但是如果他们使用与管理员相同的user/pwd,那么DB2允许他们访问数据库。但是,知道管理员用户/密码可能是安全问题。
有没有办法做到这一点在命令提示符即DB2CMD
GRANT CONNECT,ACCESSCTRL,DATAACCESS,DBADM,SECADM ON DATABASE TO USER Kishore
此命令不会解决问题。
在此先感谢。
我做了@Ian Bjorhovde的建议。现在,DB2服务以Domain \ Admin身份运行,并且GRANT命令已成功执行,但其他Domain用户无法连接到由Admin创建的DB(具有自己的身份验证)。该代码用于
DriverManager.getConnection("jdbc:db2://SERVERNAME:50000/TESTDB", UserName, PassWord);
中建立了连接,但将引发SQL异常(SQLCODE = -204),而击发任何SELECT查询甚至上提供的用户名域\用户名。
谢谢@Ian。是的,DB2服务正在我的机器上使用本地帐户运行。如果我将它们作为域帐户启动,那么如何授予他人访问权限呢? – Kishore
只要实例使用域ID运行,它就能够根据域对用户进行身份验证。您已经发布了GRANT声明,所以您应该全部设置。 –
请查看我的问题的更新 – Kishore