首页 > 解决方案 > 我想从 Eclipse 连接到 SSMS 数据库,但它抛出 SQLserverException

问题描述

我想从 Eclipse 连接到 SSMS 数据库。当编译器到达DriverManager.getConnection(url)行时它会抛出错误。我也启用了 TCP/IP,但它给出了错误。

try{            
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        System.out.println("driver loaded successfully");
        connection= DriverManager.getConnection( "jdbc:sqlserver://localhost\\MSSQLSERVER;user=sa;password=coder182");
        System.out.println("Connection created successfully");
        connection.setAutoCommit( autoCommit);
        statement=connection.createStatement();

        String query ="insert into User_information(name, card_no,amount)" + "values ('"+name+"','"+card_no+"', '"+amount+"');";
        statement.executeUpdate(query);

        System.out.println(query);                      
    }catch(Throwable th){
        th.printStackTrace();
    }           
}

错误:

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

我想将它连接到数据库。

标签: javadatabase

解决方案


  • 打开 SQL Server 配置管理器
  • SQL Server 网络配置
  • MSSQLSERVER 协议
  • TCP/IP(必须已经启用或启用)
  • (双击)
  • IP 地址
  • 向下滚动到 IPALL
  • 输入端口号 1433 或 1434 并将动态端口留空并应用设置并重新启动服务

并且您必须指定要连接的 databaseName

"jdbc:sqlserver://localhost;instance=MSSQLSERVER;databaseName=name_of_database;user=sa;password=your_password;"

如果问题已解决,则将答案标记为已接受


推荐阅读