我是编程新手,我正在使用登录屏幕制作这个聊天服务器,从SQL服务器中提取数据。在我的笔记本电脑(数据库所在的地方)进行测试时似乎很好。但是当我试图在另一个桌面上运行代码时,
它不停地说:"与主机localhost,端口2175的TCP / IP连接失败..."
到目前为止,我尝试过这样做:
但它似乎没有任何效果。
这是我连接到SQLserver的代码:
public boolean connect(String SQL) {
String connectionUrl = "jdbc:sqlserver://localhost:2175;" +
"databaseName=TestConnection;integratedSecurity=True;";
Connection con = null;
Statement stm = null;
ResultSet rs = null;
boolean check = false;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(connectionUrl);
stm = con.createStatement();
if (SQL.contains("update") || SQL.contains("insert") || SQL.contains("delete") || SQL.contains("UPDATE") || SQL.contains("INSERT") || SQL.contains("DELETE")) {
int clu = stm.executeUpdate(SQL);
if (clu == 0)
check = false;
else
check = true;
}
else {
rs = stm.executeQuery(SQL);
while (rs.next()) {
System.out.println(rs.getString(1) + " | " + rs.getString(2));
check = true;
}
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
if (rs != null) try { rs.close(); } catch(Exception e) {}
if (stm != null) try { stm.close(); } catch(Exception e) {}
if (con != null) try { con.close(); } catch(Exception e) {}
}
return check;
}
我使用的是SQL Server 2016.我知道有很多讨论这个问题的主题,但我似乎无法找到解决方案。
我还需要提一下:桌面我尝试运行我的代码并没有安装SQL服务器。它需要吗?
答案 0 :(得分:5)
String connectionUrl = "jdbc:sqlserver://localhost:2175;" + "databaseName=TestConnection;integratedSecurity=True;";
以上代码表示您正在尝试连接到安装在同一台计算机上的数据库(即localhost
)。
现在,如果您尝试连接到远程服务器,则需要使用其IP地址。此外,您需要确保它们位于同一网络中(尝试使用其IP地址ping该计算机)。