这个问题在这里已有答案:
我正在尝试设置与Sql Server 2008的JDBC连接 . 我在Sql Server中创建了一个包含以下信息的数据库:
CREATE LOGIN xtest WITH PASSWORD = 'berenjenas7(((';
GO
CREATE USER samxtest FOR LOGIN xtest;
GO
GRANT SELECT TO samxtest;
GO
GRANT INSERT TO samxtest;
GO
GRANT UPDATE TO samxtest;
GO
GRANT DELETE TO samxtest;
GO
我从这里安装了JDBC驱动程序:http://www.microsoft.com/en-us/download/details.aspx?id=11774和 I used the connectURL class from this link: http://msdn.microsoft.com/en-us/library/aa342339.aspx in order to test the connection .
我在代码中保留了默认端口1433 . 下面的图片应该证明这确实是端口:
当然我将连接字符串更改为:
String connectionUrl = "jdbc:sqlserver://localhost:1433;databaseName=XTest;user=samxtest;password=berenjenas7(((";
我不明白有什么不对?我得到的错误是:
com.microsoft.sqlserver.jdbc.SQLServerException:用户'samxtest'登录失败 . ClientConnectionId:2344af ..... com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:254)at com.microsoft .sqlserver.jdbc.TDSParser.parse(tdsparser.java:84)位于com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2908)的com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java) :2234)com.microsoft.sqlserver.jdbc.SQLServerConnection.access $ 000(SQLServerConnection.java:41)位于com.microsoft.sqlserver的com.microsoft.sqlserver.jdbc.SQLServerConnection $ LogonCommand.doExecute(SQLServerConnection.java:2220) com.microsoft.sqlserver.jdbc.SQLServerConnection.exe执行命令(SQLServerConnection.java:1715)中的.jdbc.TDSCommand.execute(IOBuffer.java:5696),位于com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1326) )在com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.ja va:991)com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)at java.sql.DriverManager.getConnection (未知来源)位于connectURL.main的java.sql.DriverManager.getConnection(未知来源)(connectURL.java:18)