无法从Java连接到SQL Server

无法从Java连接到SQL Server,java,sql,sql-server,Java,Sql,Sql Server,当我试图用Java连接到SQL Server时,我遇到了一个问题。我有下一个错误: 与主机DESKTOP-C0SCI39(命名实例)的连接失败。错误:“java.net.SocketTimeoutException:接收超时”。验证服务器和实例名称,并检查是否没有防火墙阻止到端口1434的UDP通信。对于SQL Server 2005或更高版本,请验证SQL Server Browser服务是否正在主机上运行 我的防火墙关闭了,我不知道出了什么问题(包括mssql-jdbc-8.4.1.jre1

当我试图用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();
        }

您的数据库没有在您认为它正在运行的地方运行。请验证服务器的端口和位置,然后重试。

尝试此解决方案,我在过去遇到过类似的问题,并发现这些问题很有帮助

  • 检查项目中是否导入了JDBC驱动程序。(首选-5.1.48)

  • 检查SQL Server是否已启动并正在运行(检查SQL服务是否正在运行)

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

       eg: private String URL = "jdbc:mysql://localhost:3306/dbName"; //database url
    
  • 尝试在连接字符串的末尾添加一个
    usesl=false
    dbName?usesl=false

  • 使用服务器管理软件(如SQLServerManagementStudio)打开服务器,查看SQLServer是否正常工作


  • 这是我找到的所有东西,但它就像一个本地主机。在python中,我曾经尝试过使用这个名称连接,通过sqlservermanagementstudio或其他一些数据库工具进行连接,以验证它是否在您认为它首先运行的地方实际运行。