[英]Could not connect to the database Network error IOException: Connection refused: connect
我在我的機器上運行 SQL Server Express 10.50.4000.0。 我已啟用 TCP/IP 並確保端口設置為 1433。我在防火牆中為 1433 添加了一個例外。服務器服務正在運行。 我已經嘗試了 localhost 和計算機名稱,但都給出了相同的錯誤。 當我嘗試 localhost\\SQLEXPRESS 或 [USER-PC]\\SQLEXPRESS 時,我收到一條錯誤消息,說它找不到數據庫。
String driverName = "net.sourceforge.jtds.jdbc.Driver";
Class.forName(driverName);
String serverName = "localhost";
String instanceName = "ALLEN-PC\\SQLEXPRESS";
String serverPort = "1433";
String database = serverName +":" + serverPort+"/"+instanceName;
String url = "jdbc:jtds:sqlserver://" + database;
String username = "sa";
String password = "password";
connection = DriverManager.getConnection(url, username, password);
我收到錯誤:
Could not connect to the database Network error IOException: Connection refused: connect
沒有額外的背景可以調查。
沒有數據庫服務器監聽 localhost:1433
檢查 SQL Server Browser 服務是否正在運行
所以也許使用 ip 地址而不是 localhost 會有所幫助。
您的連接字符串需要采用這種格式。 在這里找到: http : //msdn.microsoft.com/en-us/library/ms378428(v=sql.110).aspx
jdbc:jtds:sqlserver://<yourDBServerIPAddress>\SQLEXPRESS:1433;databaseName=AdventureWorks;user=sa;password=*****;
打開配置管理器:開始 -> Microsoft SQL Server -> 配置工具 -> SQL Server 配置管理器 啟用 TCP/IP:從左側樹中選擇:SQL Server 網絡配置 -> SQLEXPRESS 協議 -> TCP/IP 右鍵單擊並啟用它。 雙擊 TCP/IP 並單擊“IP 地址”選項卡 添加 TCP/IP 端口:將 TCP 端口值輸入為 1433 然后單擊應用重新啟動 SQL Server:從左側樹中,選擇:SQL Server Services -> SQL Server ( SQLEXPRESS) -> 右鍵單擊並重新啟動。
解決方案 1:使用mssql-jdbc-9.4.0.jre8.jar而不是使用 jtds 驅動程序
代替:
Class.forName("net.sourceforge.jtds.jdbc.Driver");
con = DriverManager.getConnection("jdbc:jtds:sqlserver://<IP>:port/<DatabaseName>",userid,password);
和:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
DriverManager.getConnection("jdbc:jtds:sqlserver://<IP>:port/<DatabaseName>",userid,password);
解決方案2:
在連接字符串中添加ssl=request參數
con = DriverManager.getConnection("jdbc:jtds:sqlserver://<IP>:port/<DatabaseName>;ssl=request",userid,password);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.