对象上拒绝了选择权限

4

好的,我正在使用Cold Fusion创建一个Web应用程序。每次我在浏览器中调试我的项目时,我都会收到以下错误提示:

执行数据库查询时出错。

[Macromedia][SQLServer JDBC Driver][SQLServer] 对象“users”的 SELECT 权限被拒绝,数据库为“hotel”,模式为“dbo”

我正在使用名为CFLogin的用户,并通过SQL Server中的以下命令为他授予选择权限:

USE hotel
GO
GRANT SELECT ON dbo.users TO CFLogin

我执行了以下存储过程,为我的用户分配角色:

EXEC sp_addrolemember 'db_owner',CFLogin
EXEC sp_addrolemember 'db_datareader',CFLogin
EXEC sp_addrolemember 'db_accessadmin',CFLogin

但是它总是会出现相同的信息:在对象上拒绝了选择权限... 我甚至重新启动了服务,但似乎一点用都没有。

我做错了什么?

谢谢!


1
看起来您使用的是不同于CFLogin的登录方式。 - Adam Wenger
尝试选择 user_ID(),User_name(),CURRENT_USER。 - bummi
我已经通过CFLogin进行了连接,选择操作可以正常工作,但是我的选择指向用户表却无法正常工作。 - Enot
1个回答

6

在运行IIS 7的Windows 2008服务器上,我在使用启用了ColdFusion的网站时遇到了类似的问题。执行以下查询可以帮助解决此问题:

use 数据库名称
grant select on dbo.表名 to public; 

从SQL提示符中执行上面的查询有助于解决此问题。将 数据库名称表名 替换为显示错误的SQL Server数据库和表名。


你能否只授予权限给该用户,而不是所有用户?或者我误解了这个命令? - Joseph Poirier
我们的数据库管理员不允许这样做。还有其他线索吗? - Hello

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接