首页 > 解决方案 > 无法从 Java 连接到 SQL Server

问题描述

当我尝试使用 Java 连接到 SQL Server 时遇到问题。我有下一个错误:

与主机 DESKTOP-C0SCI39,命名实例的连接失败。错误:“java.net.SocketTimeoutException:接收超时”。验证服务器和实例名称,并检查没有防火墙阻止到端口 1434 的 UDP 流量。对于 SQL Server 2005 或更高版本,验证 SQL Server Browser 服务是否正在主机上运行。

我的防火墙已关闭,我不知道出了什么问题(包括 mssql-jdbc-8.4.1.jre14)。这是我的 Java 代码:

String url = "jdbc:sqlserver://DESKTOP-C0SCI39\\;databaseName=students";
        try {
            Connection connection = DriverManager.getConnection(url);
            System.out.println("Connected to MS SQL");
        } catch (SQLException throwables) {
            System.out.println("Error!");
            throwables.printStackTrace();
        }

标签: javasqlsql-server

解决方案


试试这个解决方案,我过去遇到过类似的问题,发现这些有帮助。

  1. 检查项目中是否导入了 JDBC Driver。(首选 - 5.1.48)

  2. 检查您的 SQL Server 是否已启动并正在运行(检查 SQL 服务是否正在运行)

  3. 检查您是否正确输入了连接字符串

       eg: private String URL = "jdbc:mysql://localhost:3306/dbName"; //database url
    
  4. 尝试将 a 添加useSSL=false到连接字符串的末尾dbName?useSSL=false

  5. 使用 SQL Server Management Studio 等服务器管理软件打开您的服务器,查看您的 SQL Server 是否正常工作


推荐阅读