import java.sql.*;public class TestDB {

public static void main(String[] args) throws SQLException{

String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=admin";
String userName = "admin";
String userPwd = "admin";
Connection dbConn ;
Statement sta;
ResultSet rs;
try { 
Class.forName(driverName); 
    dbConn = DriverManager.getConnection(dbURL,userName, userPwd);
    String sql ="select * from card";
    sta = dbConn.createStatement();
    rs= sta.executeQuery(sql);
    
    if(rs.next())
     System.out.println(rs.getString(1));
    else
     System.out.print("错误1");
 
    dbConn.close();
    rs.close();
    sta.close();
    } catch (Exception e)
    { 
     System.out.print("错误");
     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:18)

解决方案 »

  1.   

    while(rs.next())  //把IF改为while
         System.out.println(rs.getString(1));
        
       
     
        dbConn.close();
        rs.close();
        sta.close();
        } catch (Exception e)
        { 
         System.out.print("错误");
         e.printStackTrace();
         }
      }
    }
      

  2.   

    看是是端口写错了,如果不是再到下面这网站看看,里面总结了好多类似的问题:www.java2000.net里找找,我忘准确在那了
      

  3.   

    "jdbc:microsoft:sqlserver://localhost:1433;   DatabaseName=admin "; 
      

  4.   

    代码没有错,需要重新配置一下jdbc驱动的三个jar包的环境变量吧。
      

  5.   

    如果你的sql2000没有打升级包的话也会出现这样的错误
    至少SP3
      

  6.   

    纯驱动没有导入SqlServer驱动包,需要手动导入的
      

  7.   

    会不会是SqlServer没打补丁的原因?
      

  8.   

    DatabaseName=admin "; dbConn   =   DriverManager.getConnection(dbURL+DatabaseName,userName,   userPwd);