JDBC连接失败,错误:与主机的TCP / IP连接失败

时间:2013-09-17 05:15:18

标签: java sql-server jdbc

我想将Java类文件与SQL Server 2012连接。我已经使用SQL Server身份验证登录。但我收到连接错误。

错误: 到主机127.0.0.1,端口1433的TCP / IP连接已失败。错误:“连接被拒绝:连接。验证连接属性。确保主机上正在运行SQL Server实例并接受端口上的TCP / IP连接。确保防火墙不阻止与端口的TCP连接。“

我的代码---

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  //1. Register your driver
//2. get the connection object
//Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost;databaseName=aysha","sa","admin");
Connection con = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1;databaseName=aysha","user=sa","password=admin");
 //"jdbc:sqlserver://127.0.0.1:1433; Instance=SQL2008;" +       "databaseName=MB;user=sa;password=123;";
//Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=aysha","sa" , "password");
//3. Prepare a statement
Statement stmt = con.createStatement();
//4. Write the query`
String sql = "Select * from employee";
//5. Execute the statement and 
ResultSet rs = stmt.executeQuery(sql);
//6. Process the result set

while (rs.next())
{
    System.out.println(rs.getInt(1));
}

8 个答案:

答案 0 :(得分:169)

  1. 打开SQL Server配置管理器,然后展开“SQL Server 2012网络配置”。
  2. 单击InstanceName的协议,然后确保在右侧面板中启用了TCP / IP,并双击TCP / IP。
  3. 在“协议”选项卡上,注意“收听所有”项的值。
  4. 单击“IP地址”选项卡: 如果Listen All的值为yes,则此SQL Server 2012实例的TCP / IP端口号是IPAll下的TCP动态端口项的值。 如果Listen All的值为no,则此SQL Server 2012实例的TCP / IP端口号是特定IP地址的TCP动态端口项的值。
  5. 确保TCP端口为1433。
  6. 单击“确定”。
  7. 如果还有其他问题,请告知我们。

    感谢。

答案 1 :(得分:94)

简易解决方案

开始 - >所有程序 - > Microsoft SQL Server 2012->配置工具 - >单击SQL Server配置管理器 - >展开SQL Server网络配置 - >协议 - >启用TCP / IP右框

双击TCP / IP并转到IP地址点击并将端口1433置于TCP端口下。

enter image description here

答案 2 :(得分:12)

错误是不言自明的:

  • 检查您的SQL服务器是否实际启动并运行
  • 检查SQL服务器主机名,用户名和密码是否正确
  • 检查没有防火墙规则阻止TCP连接到端口1433
  • 检查主机是否实际可访问

我经常使用的一个很好的检查是使用telnet,例如在Windows命令提示符下运行:

telnet 127.0.0.1 1433

如果出现空白屏幕,则表示网络连接已成功建立,并且不是网络问题。如果你得到'无法打开与主机的连接'那么这就是网络问题

答案 3 :(得分:6)

转到开始 - >所有程序 - > Microsoft SQL Server 2012->配置工具 - >单击“SQL Server配置管理器”。 enter image description here

如果您看到“SQL Server / SQL Server浏览器状态”已“停止”。请单击“SQL Server / SQL Server浏览器”,然后单击“启动”。 在某些情况下,虽然已分配与端口1433的TCP连接,但上述状态可能会停止。

答案 4 :(得分:2)

如错误所示,您需要确保您的sql server正在运行并侦听端口1433.如果服务器正在运行,那么您需要检查是否有一些防火墙规则拒绝端口1433上的连接。

以下是可用于排除故障的命令:

  1. 使用netstat -a检查sql server是否正在侦听所需的端口
  2. 作为回答中提到的gerrytan,您可以尝试在主机和端口上执行telnet

答案 5 :(得分:0)

重要:
完成任何更改或新设置后,您必须重新启动SQLSERVER服务。在services.msc上运行Windows

答案 6 :(得分:0)

如果您使用的是命名实例,则您使用的端口可能是1434,而不是1433,因此也请使用上述的telnet或netstat进行检查。

答案 7 :(得分:0)

打开%windir%\ System32文件夹并找到SQLServerManagerXX.msc

例如:

C:\ Windows \ System32 \ SQLServerManager14.msc

转到协议设置,然后默认启用TCP / IP端口为1433

enter image description here

enter image description here

相关问题