2011-07-11 215 views
3

做当...无效的对象名称

select * from students 

我得到一个“无效对象名称”错误。基本上,我想我可以看到这个问题,表中的前缀是一个对象名称,而不仅仅是dbo,我们可以调用模式“test”。

因此,这意味着....

select * from test.students 

我的问题是,我不能改变的SQL代码(这是在释放,长的故事),或更改表。我的问题是,有什么我可以在SQL Server改变,让我连接与特定SQL服务器的用户说,所以我仍然可以运行我的查询,...

select * from students 

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

我使用Java通过JDBC协议,所以我的连接字符串是一样的东西JDBC:SQLSERVER://主机名:端口;的databaseName = DB;用户= myuser的;密码=输入mypassword

谢谢,

大卫

回答

4

你正在寻找一个默认的模式运对于给定的连接,这不存在。也就是说,你不能说“直到我说另有说法,不合格的表格在测试模式中”。但是,您可以为用户设置默认架构。对于你的榜样,你会做

alter user [myuser] with default_schema = [test] 
0

尝试编辑连接字符串和默认的目录设置为你的“测试”数据库

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

啊,我通过JDBC连接,我不知道这是否仍然存在这种方式,我将它添加到我的帖子 – david99world

+0

在SQL Server手段初始目录“该连接的默认数据库是什么”。 –