刚刚安装了SQLServer2000 ,想测试一下是否能连接数据库,写了如下的代码,但是端口没有打开,所以又安装了sql2kasp3.exe补丁程序,但是用 netstat 查看,显示端口1443还是没有打开,请各位指点一下!import java.sql.*;public class TestDB { public static void main(String[] args) {
Connection conn; 
try { 
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
conn = DriverManager.getConnection ("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testdb", "", ""); 
System.out.println("Connection Successful!"); 

catch (Exception e) { 
e.printStackTrace(); 

}
}java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing 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 Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at TestDB.main(TestDB.java:15)

解决方案 »

  1.   

    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. 貌似驱动包没有导入
      

  2.   

    在你的开始--程序的sql中有没  服务器网络实用工具  如果有 你看看这里面有端口的是不是1433
      

  3.   

    给你集中连接数据库的参考咯:
    连接mysql 
    在lib下添加 mysql-connector-java-5.0.6-bin.jar 
    package com.demo.xu; import java.sql.Connection; 
    import java.sql.DriverManager; 
    import java.sql.ResultSet; 
    import java.sql.SQLException; 
    import java.sql.Statement; public class DBUtil { private static Connection conn=null; 
    private static final String DRIVER= 
    "com.mysql.jdbc.Driver"; 
    private static final String URL= 
    "jdbc:mysql://localhost/test?user=root&password=111111"; static { 
    try { 
    Class.forName(DRIVER).newInstance(); 
    } catch (Exception e) { 
    e.printStackTrace(); 

    } public synchronized static Connection getConn()throws SQLException { 
    return DriverManager.getConnection(URL); 
    } public static void main(String[] args) throws SQLException { 
    String sql="select *from users"; 
    conn=DBUtil.getConn(); 
    Statement sta=conn.createStatement(); 
    ResultSet rs=sta.executeQuery(sql); 
    while(rs.next()){ 
    System.out.println(rs.getString(3)); 



    连接sql2005 lib下导入sqljdbc.jar 
    package com.demo.xu; import java.sql.Connection; 
    import java.sql.DriverManager; 
    import java.sql.SQLException; public class SQLDB { 
    private static Connection conn=null; 
    private static final String DRIVER= 
    "com.microsoft.sqlserver.jdbc.SQLServerDriver"; 
    private static final String URL= 
    "jdbc:sqlserver://localhost:1433;databaseName=test"; 
    private static String ename="sa"; 
    private static String pwd="xu123"; static { 
    try { 
    Class.forName(DRIVER).newInstance(); 
    } catch (Exception e) { 
    e.printStackTrace(); 

    } public static Connection getConn()throws SQLException{ 
    return DriverManager.getConnection(URL,ename,pwd); 

    public static void main(String[] args) throws SQLException { 
    conn=SQLDB.getConn(); 
    System.out.println(conn.toString()); 

    } oralce10g连接 
    libclasses12.jar package com.demo.xu; import java.sql.Connection; 
    import java.sql.DriverManager; 
    import java.sql.SQLException; public class oracleDB { 
    private static Connection conn=null; 
    private static final String DRIVER= 
    "oracle.jdbc.driver.OracleDriver"; 
    private static final String URL= 
    "jdbc:oracle:thin:@localhost:1521:ORCL"; 
    // ORCl:为oracle服务名称 
    private static String ename="system"; 
    private static String pwd="system"; static { 
    try { 
    Class.forName(DRIVER).newInstance(); 
    } catch (Exception e) { 
    // TODO: handle exception 

    } public static Connection getConn()throws SQLException { 
    return DriverManager.getConnection(URL,ename,pwd); } 
    public static void main(String[] args) throws SQLException { 
    conn=oracleDB.getConn(); 
    System.out.println(conn.toString()); 


      

  4.   

    估计只是sql2kasp3.exe解压缩了,并没有执行setup.bat
      

  5.   

    SQL SERVER 2000需要升级到 SP3以上 ~另外驱动包要导入相应位置 ~
      

  6.   

    看看你的这里面的conn = DriverManager.getConnection ("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testdb", "", ""); 
    数据库名字,密码是不是空的想你写的那样的啊!我们刚开始学习的时候由于不熟悉照抄别人的代码的时候,要注意那些可变的地方
      

  7.   

    如果是1433端口没有打开,你就要检查sql运行的服务了,确认sql的服务器管理器是运行状态
    还有就是sql服务是开启的MSSQLSERVER这个服务开启
    就会开启1433端口
      

  8.   

    你到网站上下载一个SQL SERVER的安装补丁包,我怀疑是你的SQL SERVER版本低,需要打补丁。我在学校做JSP时也遇到过你那样的问题,打了补丁就可以连接数据库了。