首页 文章

与SQL Server的JDBC连接:用户x的登录失败[复制]

提问于
浏览
1

这个问题在这里已有答案:

我正在尝试设置与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=11774I used the connectURL class from this link: http://msdn.microsoft.com/en-us/library/aa342339.aspx in order to test the connection .

我在代码中保留了默认端口1433 . 下面的图片应该证明这确实是端口:
enter image description here
当然我将连接字符串更改为:

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)

1 回答

  • 4

    误解:

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

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

    LOGIN xtest ENABLE
    
    ALTER LOGIN samxtest WITH PASSWORD = 'password'
    

相关问题