无效的对象名称

时间:2011-07-11 08:59:39

标签: java sql-server

什么时候......

select * from students

我收到“无效的对象名称”错误。基本上,我认为我可以看到问题在于表格以对象名称为前缀而不仅仅是dbo,让我们调用模式“test”。

所以这意味着......

select * from test.students

我遇到的问题是我无法更改SQL代码(它在发布,长篇故事中)或更改表。我的问题是,有什么我可以在SQL服务器中更改,允许我连接说与特定的SQL服务器用户,所以我仍然可以运行我的查询...

select * from students

省略对象名称,但对象仍然有对象名称?我可以添加另一个SQL用户或类似的东西。

我在jdbc协议上使用Java,所以我的连接字符串类似于jdbc:sqlserver:// hostname:port; databaseName = db; user = myuser; password = mypassword

谢谢,

大卫

2 个答案:

答案 0 :(得分:4)

您正在寻找默认架构选项,该选项对于给定连接不存在。也就是说你不能说“除非我另有说法,否则不合格的表格会出现在测试模式中”。但是,您可以为用户设置默认架构。举个例子,你可以做

alter user [myuser] with default_schema = [test]

答案 1 :(得分:0)

尝试编辑连接字符串并将默认目录设置为“test”数据库

<add name="ConnectionString" connectionString="Data Source=server;Initial
Catalog=test;Persist Security Info=True;User ID=user;Password=password;"
providerName="SqlDataClient"/>