执行这么一个方法:
 public static Connection getConnection() throws SQLException, ClassNotFoundException{//       String driverName = "net.sourceforge.jtds.jdbc.Driver";
       String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";       
       String dbUrl = "localhost:1433/" ;
       String databaseName = "ncsdb";
       String user  = "sa";
       String password = "";
//       String dbName = "jdbc:jtds:sqlserver://" + dbUrl + databaseName;
       String dbName = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=ncsdb";       
       Connection conn = null;
       try{
           Class.forName(driverName);
           conn = DriverManager.getConnection(dbName,user,password);
       }catch(ClassNotFoundException e){
           e.printStackTrace();
           throw e;
       }catch(SQLException e){
           e.printStackTrace();
            throw  new SQLException();
       }
       return conn;
   }抛异常:
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(DriverManager.java:512) at java.sql.DriverManager.getConnection(DriverManager.java:171)
.....看不出哪儿有错啊,
用jtds也是一样有问题,,

解决方案 »

  1.   

    首先:
    //       String driverName = "net.sourceforge.jtds.jdbc.Driver";
           String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";       
           String dbUrl = "localhost:1433/" ;
           String databaseName = "ncsdb";
           String user  = "sa";
           String password = "";
    //       String dbName = "jdbc:jtds:sqlserver://" + dbUrl + databaseName;
           String dbName = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=ncsdb";  
    你也不嫌麻烦,写这么多,2句话就可以搞定的
    另外,看你的错误提示,给你个建议,你手动用sa的身份登陆下你的sqlserver数据库,如果可以进去,然后在判断下你的sqlserver是否打了sp3的补丁,如果没打,那么应该是打上就可以了
      

  2.   

    sqlserver要打上sp3,以前就遇到这个问题了。
      

  3.   

    首先要肯定你的sqlserver是否使用的混合模式的身份验证,因为JDBC登录不是使用的windows身份验证。
    其次如果你用的xp系统的话,sqlserver最好打上sp3。2000好像可以不打。不过出于安全考虑都打上吧,又不吃亏……