我想設置一個JDBC連接到SQL Server 2008,我創建在SQL Server數據庫這樣的信息:我安裝了JDBCJDBC連接到SQL Server:登錄失敗,用戶X
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
驅動程序從這裏: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在 com.microsoft.sqlserver.jdbc在 com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2908)(tdsparser.java:84) .SQLServerConnection.logon(SQLServerConnection.java:2234) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.access $ 000(SQLServerConnection.java:41) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection $ LogonComma nd.doExecute(SQLServerConnection.java:2220) 在 com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java: 1715) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1326) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991) 在 com.microsoft .sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012) at jav a.sql.DriverManager.getConnection(來源不明)在 java.sql.DriverManager.getConnection(來源不明)在 connectURL.main(connectURL.java:18)
是否CREATE USER samxtest進行登錄XTEST;是否與設置的登錄啓用相同? – swingNoobie
@Sam請回顧一下,可能[複製](http:// stackoverflow。com/questions/6403636/connecting-sql-server-2008-to-java-login-failed-for-user-error) – gks
我不知道它們是否相同。但我做了一個測試,也試過這個:ALTER LOGIN xtest ENABLE; ALTER LOGIN xtest WITH PASSWORD ='abcdefghijkl'然後用String替換連接字符串connectionUrl =「jdbc:sqlserver:// localhost:1433; databaseName = XTest; user = xtest; password = abcde ghijkl」;但它仍然不起作用。 – Sam