测试连接数据库与tcp/ip、端口错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败

前几天新装的sqlserver。在确保数据库安装正确的情况下,今天写了一个java类来测试是否可以连接数据库,代码如下

/**

 * 

 */

package lianjie;

 

import java.sql.*;

 

 

/**

 * @author Administrator

 *

 */

public class Data {

 

/**

 * @param args

 */

private static Connection conn = null;

private static String driverClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

private static String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=mess";

private static String user = "sa";

private static String pwd = "suyu1202";

public static Connection getConn(){

try{

Class.forName(driverClass);

conn = DriverManager.getConnection(URL, user, pwd);

System.out.println("连接数据库成功");

}catch(Exception ex){

System.out.println("数据库连接异常:"+ex.getMessage());

ex.printStackTrace();

}

return conn;

}

public static void main(String[] args) {

// TODO Auto-generated method stub

        Data.getConn();

}

 

}

 

可是总是报错,类似如下。查看(netstat -an)端口监听状态,并无1433or1434,最后从网上查到了解决方案,原来是端口设置哪里出了状况。

错误情况:

SqlServer问题:sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:Connection refused: connect。请验证连接属性。

com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口1433 连接到主机localhost 的TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性。确保SQL Server 的实例正在主机上运行,且在此端口接受TCP/IP 连接,还要确保防火墙没有阻止到此端口的TCP 连接。”。

       atcom.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)

       atcom.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:241)

       at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2243)

       atcom.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:491)

       atcom.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1309)

       atcom.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991)

       atcom.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)

       atcom.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)

       at java.sql.DriverManager.getConnection(DriverManager.java:582)

       atjava.sql.DriverManager.getConnection(DriverManager.java:185)

在命令行中输入:telnet localhost 1433,连接不上:


检查下配置:服务和连接的外围应用配置器

已经选中了“同时使用TCP/IPnamed pipes(B)

下面再检查SQL Server Configuration Manager

实例名为“SQLEXPRESS”下的TCP/IP已经开启了:

 

右击“TCP/IP”选择“属性”(或双击“TCP/IP),选择“IP地址”选项卡,最下面有个“IPALL”:


再看看“SQLNative Client配置”:

双击“TCP/IP”:


现在重启服务:

 

右击“SQLServer (SQLEXPRESS)”,选择重新启动。

再回到命令行下,键入:telnetlocalhost 1433

显示黑屏,说明已经成功了!

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值