在eclipse下连接sqlserver2005 无法打开登录所请求的数据库 "user"。登录失败。

在eclipse下连接sqlserver2005,连接master可以,自己新建的就不行,

com.microsoft.sqlserver.jdbc.SQLServerException: 无法打开登录所请求的数据库 "user"。登录失败。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:196)
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:246)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:83)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2532)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:1929)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:1917)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4026)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1416)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1061)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:833)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:716)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:841)
at net.sourceforge.squirrel_sql.fw.sql.SQLDriverManager.getConnection(SQLDriverManager.java:99)
at com.genuitec.eclipse.sqlexplorer.actions.LoginProgress$Login.run(LoginProgress.java:48)
at java.lang.Thread.run(Thread.java:619)
认证模式没错,是混合模式登陆。IP也没错,是1433端口,不是动态ip。
我如果把url改成

String url="jdbc:sqlserver://localhost:1433";

即去掉连接具体的数据库user,就不报错,就连接上了数据库;
加上这句DatabaseName=user就不行了。

我想应该是user是sql server的保留字,不能够使用吧,你把自己数据库的名字重新换一个试试,应该就可以了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-08
哥们你不知道在msSQLserver中user是关键字吗?如果还不行看看你登陆数据库的用户的数据库角色对不对,给一个admin就可以了……