如何设置SQL Server连接URL?

问题描述 投票:0回答:1

我在连接到我在电脑中为小型应用程序创建的 SQL Server 数据库时遇到问题。该服务器称为“INSPIRONN5110-D”。我使用 Windows 身份验证登录服务器。已经从微软下载了驱动程序,并将其内容复制到程序文件文件夹,并将路径 (C:\Program Files\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0 nu\sqljdbc4.jar) 添加到路径和类路径变量(不知道该使用哪一个)但仍然出现此错误。

Creating Connection.
com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host INSPIRONN5110-D, port 1433 has failed. Error: "connect timed out. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
    .....

这是我尝试连接数据库的方法。

private Connection connectToDB() {

        String connectionUrl = "jdbc:sqlserver://INSPIRONN5110-D; databaseName=MemoryHelp;";
        Connection con = null;
        try{
//          Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            System.out.println("Creating Connection.");
            con = DriverManager.getConnection(connectionUrl);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
//      } catch (ClassNotFoundException e) {
//          // TODO Auto-generated catch block
//          e.printStackTrace();
        } finally{

            System.out.println("Connection created.");

        }


        return con;
    }

尝试将连接 URL 更改为“jdbc:sqlserver://localhost;databaseName=MemoryHelp;”

现在收到此错误:

Creating Connection.
com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost, port 1433 has failed. Error: "Connection refused: connect. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
    ....

终于解决了。必须转到 SQL Server 配置管理器并启用与服务器的 tcp/ip 连接,然后将 sqljdbc_auth.dll 文件从驱动程序文件夹复制到 system32 文件夹,并使用以下连接 URL 才能使其正常工作:

String connectionUrl = "jdbc:sqlserver://localhost;databaseName=MemoryHelp;integratedSecurity=true";
java sql-server jdbc
1个回答
0
投票

您没有提供服务器的 IP 或主机名,也没有提供端口。您需要提供这些才能连接到服务器。

在您的情况下,如果服务器与应用程序位于同一台计算机上..那么它应该是: jdbc:sqlserver://localhost:3306

端口 3306 只是我假设您正在使用的默认端口,这取决于您托管服务器的端口。

© www.soinside.com 2019 - 2024. All rights reserved.