Java 无效的对象名

Java 无效的对象名,java,sql-server,Java,Sql Server,当你做 select * from students 我得到一个“无效对象名”错误。基本上,我认为我可以看到问题在于表的前缀是对象名,而不仅仅是dbo,让我们称模式为“test” 这意味着 select * from test.students 我的问题是,我无法更改SQL代码(它在发行版中,说来话长)或更改表。我的问题是,在SQL server中是否有任何我可以更改的内容,允许我连接(比如)特定的SQL server用户,以便我仍然可以以 select * from students 省

当你做

select * from students
我得到一个“无效对象名”错误。基本上,我认为我可以看到问题在于表的前缀是对象名,而不仅仅是dbo,让我们称模式为“test”

这意味着

select * from test.students
我的问题是,我无法更改SQL代码(它在发行版中,说来话长)或更改表。我的问题是,在SQL server中是否有任何我可以更改的内容,允许我连接(比如)特定的SQL server用户,以便我仍然可以以

select * from students
省略对象名,但仍保留表中的对象名?我可以添加另一个SQL用户或类似的东西,没问题

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

谢谢


David

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


您正在寻找一个默认的模式选项,该选项对于给定的连接是不存在的。也就是说,您不能说“除非我说,否则,测试模式中存在非限定表”。但是,您可以为用户设置默认模式。以你为例,你会这样做的

alter user [myuser] with default_schema = [test]

啊,我是通过JDBC连接的,我不确定这种连接方式是否仍然存在,我将把它添加到SQL Server中的初始目录中,意思是“此连接的默认数据库是什么”。
alter user [myuser] with default_schema = [test]