com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。

来源:互联网 发布:c语言常用头文件 编辑:程序博客网 时间:2024/04/29 12:48
 

我在一次Java WEB项目 开发中,

如下的程序:

 

Java代码 复制代码 收藏代码
  1. private Connection conn;   
  2.     private Statement stmt;   
  3.     private PreparedStatement pstmt;   
  4.     private ResultSet rst;   
  5.        
  6.     private void init()   
  7.     {   
  8.         try{   
  9.             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();   
  10.             String url = "jdbc:sqlserver://localhost:1433;DatabaseName=take_out";   
  11.             conn = DriverManager.getConnection(url, "sqlTeam""123456");   
  12. /////测试用************   
  13.             System.out.println("连接成功!!!");   
  14.             System.out.println("连接成功!!!");   
  15.             System.out.println("连接成功!!!");   
  16. ////**************   
  17.         }   
  18.         catch (Exception e)   
  19.         {   
  20.             e.printStackTrace();   
  21.         }   
  22.     }   
  23.        
  24.     public DBConnect(String s)   
  25.     {   
  26.         try  
  27.         {   
  28.             init();    
  29.             pstmt = conn.prepareStatement(s);   
  30.         }   
  31.         catch(Exception e)   
  32.         {   
  33.             e.printStackTrace();   
  34.         }   
  35.     }   
  36.        
  37.     public DBConnect()   
  38.     {   
  39.         try{   
  40.             init();   
  41.             stmt = conn.createStatement();   
  42.         }   
  43.         catch (Exception e)   
  44.         {   
  45.             e.printStackTrace();   
  46.         }   
  47.     }  

 

 

抛出了一些异常,其中第一句话就如下:

com.microsoft.sqlserver.jdbc.SQLServerException: 到主机  的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect

我的数据库是MS-SQL Server2005的, 当时Google 一下,很多帖子都是说都说要在SQL SERVER CONFIGURATION MANAGER里把默认关闭的TCP/IP从禁止改成启用,把SQL SERVER BROWSER也打开.
,可是我的打开了,端口为1433的,但是我在运行“CMD”后的DOS控制台里输入 netstat -an的命令发现,端口为1433的,系统并没有在侦听。这搞得很郁闷。

后来想了很多方法;

其中针对不同人的电脑有不同的方法,比如我的朋友的电脑当时也出现了上面情况,他这样做就行了:

 

“确定TCP/IP有没有启动.
确定TCP端口对不对, 在TUTORIAL和SAMPLE里的都是1433端口, 可是我SQL SERVER的TCP接听端口是2159. 把程序里的1433改成1459就马上可以用了.
设置方法:
打开SQL SERVER CONFIGURATION MANAGER (不记得SQLEXPRESS版本有没有这个了, ENTERPRISE版本的有), 左边窗口扩展SQL SERVER 2005 网络配置, 选择SQLEXPRESS 的协议(你的名字不一定是SQLEXPRESS), 右边窗口中双击TCP/IP, 弹出窗口中顶部TAB点"IP 地址", 看IPA11(或者是IPAll..看不出来是1还是l), 里面"TCP 动态端口"的值就是你的端口. ”(以上是当时一起讨论的时候针对他的电脑得出的)

 

可是我的电脑就麻烦一点;

.........待续..

现在还在麻烦中...

 

等会再把方法上传

(*^__^*) 嘻嘻……

原创粉丝点击