0

我正在尝试设置与 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 ,我使用了这个链接中的 connectURL 类:http: //msdn.microsoft.com /en-us/library/aa342339.aspx 以测试连接

我在代码中保留了默认端口 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) 在 com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:254) 在 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.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2220) 在 com.microsoft.sqlserver .jdbc.TDSCommand.execute(IOBuffer.java:

4

1 回答 1

4

误解:

确保 SQL Server 的身份验证模式为“混合模式(Windows 身份验证和 SQL Server 身份验证)”。

运行以下脚本以更改身份验证

LOGIN xtest ENABLE

ALTER LOGIN samxtest WITH PASSWORD = 'password'
于 2012-09-27T08:28:28.933 回答