簡體   English   中英

無法使用 JDBC 驅動程序 SQLState 08001 連接到 MS SQL Server

[英]Can not connect to MS SQL Server using JDBC driver SQLState 08001

我正在嘗試使用 Java 連接到 MS SQL Server 數據庫,但我一直遇到相同的錯誤。

我正在為開發人員使用 MS SQL Server,並通過 SSMS 對其進行管理。 當我安裝它時,我設置為它會使用我的 Windows 憑據作為密碼。

JDBC 驅動程序作為 Maven 依賴項添加到我的項目中。

根據我閱讀 Microsoft 文檔的理解,我應該能夠使用以下連接字符串:

String connectionUrl ="jdbc:sqlserver://localhost;integratedSecurity=true";

然而,這似乎對我不起作用,因為它返回 SQLState 08001。在閱讀了這個狀態后,我明白它與無法建立連接有關。

我還嘗試使用我的 Windows 登錄名形成我的連接字符串,結果相同:

String connectionUrl = "jdbc:sqlserver:localhost:1433;databaseName=DBNAME;user=John Doe;password=0123456789";

我還嘗試使用 T-SQL 創建一個登錄名,以使用與之前相同的字符串作為憑據(僅更改用戶名和密碼):

CREATE ROLE [USER]
GRANT SELECT, INSERT ON SCHEMA :: [dbo] TO USERNAME
CREATE LOGIN USERNAME_LOGIN WITH PASSWORD = '1234567890'
CREATE USER USER_USERNAME FROM LOGIN USERNAME_LOGIN
ALTER ROLE [USER] ADD MEMBER USER_USERNAME

我真的可以使用一些幫助來了解我做錯了什么以及我可以做些什么來使它工作。 如果您需要我檢查任何內容,請告訴我如何做,因為我對此還是很陌生。

編輯

這里要求的是來自 getMessage() 的信息:

找不到適合 jdbc:sqlserver:localhost:1433;databaseName=... 的驅動程序

我猜這也是提及我正在導入的 Maven 依賴項的時刻:

<!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
<dependency>
       <groupId>com.microsoft.sqlserver</groupId>
       <artifactId>mssql-jdbc</artifactId>
       <version>7.3.0.jre8-preview</version>
</dependency>

我認為現在的問題是,我是否有錯誤的驅動程序作為 MS SQL Server 2017 的依賴項?

結果我沒有為 MS SQL Server 啟用 TCP/IP 連接。

要在 MS SQL Server 2017 中啟用此功能:

  • 從 Windows 應用程序菜單啟動 SQLServerManager14.msc。
  • 轉到 SQL Server 網絡配置。
  • 轉到 YOURINSTANCE 的協議。
  • 將 TCP/IP 設置為啟用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM