在一个Java应用程序中,我在DB2中创建了两个具有管理权限的数据库。现在使用应用程序,希望通过LAN访问相同的数据库,但需要将数据库权限授予其他(在相同域中)域用户,以便他们可以作为最终用户访问相同的数据库。
我尝试过DB2 GRANT命令,但它不允许其他人访问这些数据库,但如果他们使用与管理员相同的用户/密码,DB2将允许他们访问数据库。但是知道管理员用户/密码可能会有安全问题。
有没有办法在命令提示符下执行此操作,例如db2cmd
GRANT CONNECT,ACCESSCTRL,DATAACCESS,DBADM,SECADM ON DATABASE TO USER Kishore
这个命令不能解决这个问题。
提前谢谢。
我按照@Ian Bjorhovde的建议做了。现在,DB2服务以域\管理员身份运行,并成功执行了GRANT命令,但其他域用户仍无法连接到由管理员创建的数据库(使用自己的身份验证)。使用以下代码
DriverManager.getConnection("jdbc:db2://SERVERNAME:50000/TESTDB", UserName, PassWord);
连接已创建,但在触发任何SELECT查询时抛出SQL异常(SQLCODE=-204),即使在提供的UserName上也是如此。
发布于 2012-06-06 20:58:41
若要对域进行身份验证,DB2服务(实例)必须使用域帐户运行-它不能使用本地计算机上定义的帐户启动。您可以停止实例,然后从Windows Services面板将DB2服务更改为使用域ID启动。
确保此域ID具有足够的权限,如documented here。
https://stackoverflow.com/questions/10909246
复制相似问题