环境 全新安装win2000 sp4 && sql server 2k sp3a  MS:jdbc Tomcat:4
开发用idea 4.5 
已经把jdbc三个包copy到tomcat下 idea中也引用了。系统环境设了:JAVA_HOME=F:\j2sdk1.4.2_08
CLASSPATH=F:\j2sdk1.4.2_08;F:\j2sdk1.4.2_08\lib\tools.jar;F:\j2sdk1.4.2_08\lib\d
t.jar;F:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;
F:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;F
:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jarsource code         String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=hello";
        String user = "test";
        String password = "sshina";
        Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
        System.out.println(o.toString());
出错行:Connection conn = DriverManager.getConnection(url, user, password);
        Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
        String sql = "select * from student";
        ResultSet rs = stmt.executeQuery(sql);
        while (rs.next()) {
            System.out.println(rs.getString(1));
            System.out.println(rs.getString(2));
            System.out.println(rs.getString(3));
        }
        rs.close();
        stmt.close();
        conn.close();出错:
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)
(定义到出错行) at dao.TestDao.shinaTestDao(TestDao.java:35)
at dao.TestDao.main(TestDao.java:17)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Exception in thread "main" 
Process finished with exit code 1我已经关了防火墙也还是一样

解决方案 »

  1.   

    There are couple of things to check:1. Instead of using localhost, try ip address.
    2. Make sure 1433 is open (use "telnet <host> 1433").
    3. Make sure your SQl Server is using mixed authentication and your user name is set up in SQL Server (not just windows user name).
      

  2.   

    解决办法
    sql控制台->属性-》常规=》网络配置=>启用协议(光标点tcp/ip)属性看看你的端口是多少
    把1433改过来