VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
楼主: cm200red

java查询SQLServer遇到问题:对象名无效。

[复制链接]

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-1 14:15:01 | 显示全部楼层
表中有关键字?
呵呵
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-2 18:15:01 | 显示全部楼层
java.sql.SQLException: [Microsoft][SQLServer Driver for JDBC][SQLServer]对象名 ‘xxx’ 无效


根本原因:

访问数据库的用户有登录权限,但无操作表的权限

解决办法:

1. 在[企业控制台]窗口–[树]子窗口–[安全性]子树–[登录]项里将你使用的登陆用户的默认数据库设为你所使用的数据库。

2. 在[企业控制台]窗口–[树]子窗口–[安全性]子树–[登录]项里新增一个登录用户(在其中选择SQL Server 身份验证、服务器角色和要访问的数据库),以后便可用些新增用户访问你勾选的数据库了。

楼主的问题我也遇到过了,感觉欲哭无泪,最后就是用这个方法解决的!!!!!!!!!!
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-2 18:30:01 | 显示全部楼层
说明没有那个表
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-3 18:30:01 | 显示全部楼层
默认数据库不对
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-5 08:00:01 | 显示全部楼层
说得对,就是修改登录用户的默认数据库!但是,这是为什么呢?url中已经明确指出了数据库的名称!为什么???
[color=#FF0000]求解......[/color]
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-5 10:30:01 | 显示全部楼层
我刚刚也遇到了这个问题,我是因为当前数据库的用户没有权限。选中要操作的表的单击右键选中属性,然后点击权限,再把你那个用户需要的权限勾上即可。
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-5 10:45:01 | 显示全部楼层
肯定是楼主把java连接sql server的数据库名写错了。
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-5 11:00:01 | 显示全部楼层
通用的错误。

在SQL里面写这条语句
use 数据库名

运行之 OK
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-6 02:30:01 | 显示全部楼层
按照55924321的做法就可以了!!!多谢!!!!!!!!!
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-6 21:15:01 | 显示全部楼层
当一个非sysadmin 固定服务器角色成员(非DBA用户),在查询分析器或程序中(asp,vb等),新建一个数据库对象时,数据库对象的所有者为当前的登录的用户。如果程序下一次更改为以DBA身份或者其它身份运行时,就会提示找不到该数据库对象。

例如: 如果用户Andrew 不是固定服务器角色 sysadmin 的成员,而只是固定数据库角色 db_owner 的成员,并创建表 T1,则 T1 属于 Andrew,并限定为 Andrew.T1。其它用户在查询分析器或程序中用SQL语句访问该表时需要在表前面加上所有者:

                  select * from Andrew.T1

               而不能直接

                  select * from T1

                   不然会提示找不了表对象。
在[企业控制台]窗口–[树]子窗口–[安全性]子树–[登录]项里将你使用的登陆用户的默认数据库设为你所使用的数据库。
服务器角色:不能勾选system administrator,否则查询表时要加所有者。(select * from Andrew.T1)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表