拒绝了对对象 table (数据库 '**db',架构 'dbo')的 SELECT 权限
@[TOC](拒绝了对对象 ‘table’ (数据库 ‘thedb’,架构 ‘dbo’)的 SELECT 权限。)
一、问题
sqlserver数据库连接成功,但执行SELECT语句出现bug
com.microsoft.sqlserver.jdbc.SQLServerException: 拒绝了对对象 ‘table’ (数据库 ‘thedb’,架构 ‘dbo’)的 SELECT 权限。
1.如图
![控制台报错]](https://img-blog.csdnimg.cn/20190503122548468.png#pic_center)
2.状态
(1)版本——sql server2017
(2)用户——“root”
我连接数据库所用的用户名是自己新建的——user:“root”,有些权限需要赋予,可以通过"sa"或则系统验证进入管理器(Microsoft SQL Server Management Studio)对其进行赋予如(3)。
(3)权限
此前已经使用sa用户对其进行了一些权限授予,部分如下:
二、分析
很有可能是权限范围给的不够,如下
以上是默认范围
三、改动
将最后一项打钩,权限如下
四、结果(成功)
1.成功
控制台(Consol)输如下所示:
未报权限错误,以上bug与权限无关成功解决。
2.找出范围方法
(1)遍历
一个个单独打钩试
(2)二分法
分两份,一份全打钩,如下图所示
倘若不报错,则对应权限再此份中,继续去二分法尝试。