小弟的操作系统: 番茄花园XP  SP2
        数据库: SQLSERVER2000
          症状:
                用ODBC能连上,用JDBC连不上!!
我已经给数据库打过SP4补丁!!java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis
hing socket.
        at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source
)
        at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
        at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
        at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)        at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Sou
rce)
        at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown S
ource)
        at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
        at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
        at java.sql.DriverManager.getConnection(DriverManager.java:525)
        at java.sql.DriverManager.getConnection(DriverManager.java:171)
        at Test.<init>(Test.java:10)
        at Test.main(Test.java:22)
Press any key to continue...

解决方案 »

  1.   

    url 是咋写的?jdbc:microsoft:sqlserver://localhost:1433;User=sa;Password=;DatabaseName=NorthWind
    另外,问个问题,“番茄花园”是啥操作系统
      

  2.   

    url="jdbc:microsoft:sqlserver://localhost:1433;databasename=pubs","sa","");
        就是XP!
      

  3.   

    应该打个 的SP3补丁就ok了
      

  4.   

    错误的主要原因是默认的数据库服务器端口 1433没有打开,无法直接连接 。
    sqlserve 和jdbc 的融合问题,关键涉及到sp3补丁(端口开放
      

  5.   

    SP3补丁是SQL的还是XP的?用ODBC时不用1433吗 我能连上ODBC啊
      

  6.   

    "不用拷  肯定不行啊 
    我写了类测试都通不过"
    啥意思?Driver驱动肯定要拷贝到web下的亚
      

  7.   

    我前几天配置环境时也遇到楼主说的问题,并且我的OS也跟楼主一样,
    首先检查一下你的JDK和Tomcat配置都没问题
    然后将SQL Server JDBC的三个.jar压缩包拷贝到Tomcat的common/lib目录下
    然后安装SQL server 补丁,我的数据库时SQL server 2K 打的是SP4补丁
    安装补丁时,首先将下载的SP4(我下载的时SQL2000-KB884525-SP4-x86-CHS.EXE)压缩包解压到一个目录中,然后运行其中的.bat文件(好像是setup.bat)安装完SP4问题就解决了,过程就是这样。
      

  8.   

    连接SQL Server数据库代码示例:
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    Connection conn=java.sql.DriverManager.getConnection ("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=PATTYDBS","sa","");
    数据库,用户名,密码改成你自己的。应该和端口号1433没关,XP下默认端口也是1433。
      

  9.   

    楼主可以先看一下你安装的SQL开的端口号是什么?
    看是否为1433,补丁是要打的,sqlserversp3,sp4都行
    启动sqlserver服务
    cmd
    telnet localhost 1433
    看是否在监听状态
      

  10.   

    就是楼上说呢那个原因!!!!1433端口确实没在监听状态!
    但是SP4补丁我打过了啊  有什么方法可以手动打开1433口呢??等待ing....
      

  11.   

    To:jalion() ( ) 信誉:100 
       1>SQL查询分析器中输入(其实如果不想输入,只要打开帮助的关于就可以了:)) 
    Select @@Version; 
    然后按执行; 
    这时会返回SQL的版本信息,如下: 
    Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17 2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 3) 
    其中的8.00.760就是SQL Server的版本和补丁号。对应关系如下: 
    8.00.194 -——————SQL Server 2000 RTM 
    8.00.384 -——————(SP1) 
    8.00.534 -——————(SP2) 
    8.00.760 -——————(SP3) 
    这样就能看到SQL Server的正确版本和补丁号了。
    先看一下你sqlserver升级成功否?
       2>开始>程序>sql客户端里面可以改你的端口号
       3>用sqlserver2000 最好是安装在win2000/win2003 的操作系统上面,这样里面的许多服务支持的都比较好,你安装的sql只是客户端吧
      

  12.   

    to mrdangdong() ( ) 信誉:100 我所做的努力:
    安装了了SQL2000-KB884525-SP4-x86-CHS1.EXE 补丁
    select @@version
    结果:
    Microsoft SQL Server  2000 - 8.00.2039 (Intel X86)   May  3 2005 23:18:38   Copyright (c) 1988-2003 Microsoft Corporation  Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 2) 
    Microsoft Windows XP [版本 5.1.2600]
    (C) 版权所有 1985-2001 Microsoft Corp.C:\>telnet localhost 1433
    正在连接到localhost...不能打开到主机的连接, 在端口 1433: 连接失败
    C:\>怎么办?
      

  13.   

    To:jalion() ( ) 信誉:100 
    执行2>了吗?先确保是sqlserver是绑定1433端口,因为xp是2000,2003这三种操作系统中支持sql server最不好的一个,你恰巧用到这个.
    实在不行,装Win2003吧,用着爽,界面功能都具有,我就用这个,支持多数软件开发工具,及数据库(安装2003,打sp1补丁,安装sql企业版,打sql的sp3,sp4补丁都行)一切都好了
      

  14.   

    将三个包msbase.jar,mssqlserver.jar,msutil.jar,放到lib目录下
    然后连接数据库密码好像不能为空,即"".我以前也用过这个空密码.结果不行.重装SQL后加了个密码就行了
      

  15.   

    我也遇到过这种问题,打sql的sp3补丁就ok了
      

  16.   

    我又换了XP操作系统 装了一遍OK了但我还是不明白为什么那个版本的XP连不上
     感谢 大家