用jdbc for sqlserver 驱动连接sql数据库的时候怎么老是
:error establish socket!
错误呀
我怀疑是sql的1433号端口没有打开
不知道怎么解决呀
请大家帮帮忙呀!

解决方案 »

  1.   

    打开Microsoft SQL Server--服务器网络实用工具--启用的协议--TCP/IP--属性--默认端口客户端连接的方法:
     打开Microsoft SQL Server--客户端网络实用工具--别名,添加
      
     
      

  2.   

    telnet <服务器IP地址> 1433如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明 SQL Server 服务器工作正常,并且正在监听1433端口的 TCP/IP 连接
    如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动 SQL Server 服务,
    也可能服务器端没启用 TCP/IP 协议,或者服务器端没有在 SQL Server 默认的端口1433上监听.
    =============接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道.是否启用了 TCP/IP 协议等等 =============
    可以利用 SQL Server 自带的服务器网络使用工具来进行检查.点击:程序 -- Microsoft SQL Server -- 服务器网络使用工具打开该工具后,在"常规"中可以看到服务器启用了哪些协议.
    一般而言,我们启用命名管道以及 TCP/IP 协议.
    点中 TCP/IP 协议,选择"属性",我们可以来检查 SQK Server 服务默认端口的设置
    一般而言,我们使用 SQL Server 默认的1433端口.如果选中"隐藏服务器",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接.
    ============= 接下来我们要到客户端检查客户端的网络配置 =============
    我们同样可以利用 SQL Server 自带的客户端网络使用工具来进行检查,
    所不同的是这次是在客户端来运行这个工具.点击:程序 -- Microsoft SQL Server -- 客户端网络使用工具打开该工具后,在"常规"项中,可以看到客户端启用了哪些协议.
    一般而言,我们同样需要启用命名管道以及 TCP/IP 协议.
    点击 TCP/IP 协议,选择"属性",可以检查客户端默认连接端口的设置,该端口必须与服务器一致.单击"别名"选项卡,还可以为服务器配置别名.服务器的别名是用来连接的名称,
    连接参数中的服务器是真正的服务器名称,两者可以相同或不同.别名的设置与使用HOSTS文件有相似之处.
      

  3.   

    首先可能是sp3补丁没有打,如果是XP系统一定要打SQLServer的sp3补丁,在官网上有下的,如果打了sp3补丁还是不行,那就是你的SQLServer默认的端口不是1433,在SQLServer中有个网络实用工具,在常规项中选TCP/IP,属性,就能看到默认端口是什么了,把你程序里的1433改成那个默认的就可以了,我的默认是1040,也不是1433
      

  4.   

    你先看看在sqlserver的客户端能连接不,如果可以,而且保证参数没有错的情况下,那就是驱动的问题了~微软有针对不同版本的驱动,下一个合适的~
      

  5.   

    我用是xp sp2 系统,sql也升级到sp3了
    打开服务器后用netstat -a -n看不到1433号端口处于增听状态
    换上其他的端口也不行呀
    我在2000的系统上就轻松完成了
      

  6.   

    我用的xp系统,SQL Server 2000 + SP3 补丁包在附件中的“命令提示符”  telnet localhost 1433 ,显示成功了!
    环境变量 : classpath=d:\jdk\bin;.;d:\jdk\lib;D:\tomcat\common\lib\servlet.jar;D:\SQLDriverForJDBC\lib\msbase.jar;D:\SQLDriverForJDBC\lib\mssqlserver.jar;D:\SQLDriverForJDBC\lib\msutil.jarCATALINA_BASE = d:\tomcat
    CATALINA_HOME = d:\tomcat
    java_home = d:\jdk
    msbase.jar;mssqlserver.jar;msutil.jar 三个我都放在了 D:\tomcat\common\lib 
    测试用的代码如下:
    <%@ page contentType="text/html;charset=gb2312"%>   
    <%@ page import="java.sql.*,java.lang.*"%> 
    <html>   
    <body>   
    <%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();   
    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test"; 
    String user="sa"; 
    String password="123"; 
    Connection conn= DriverManager.getConnection(url,user,password);   
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);   
    String sql="select * from job";   
    ResultSet rs=stmt.executeQuery(sql);   
    while(rs.next()) {%>   
    您的第一个字段内容为:<%=rs.getString(1)%>   
    您的第二个字段内容为:<%=rs.getString(2)%>   
    <%}%>   
    <%out.print("数据库操作成功,恭喜你");%>   
    <%rs.close();   
    stmt.close();   
    conn.close();   
    %>   
    </body>   
    </html> 成功了以上的代码都是直接复制过来的。我也是刚搞好的,拿出来给你参考一下!
      

  7.   

    我现在也和你有一样的问题,在google找到是要加sp4是最新的补丁,可我找不到sp4,
    麻烦你找到了,发出来好吗?谢谢了
      

  8.   

    sp4:http://www.microsoft.com/downloads/details.aspx?FamilyId=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5&displaylang=zh-cn#filelist