代码:public static Connection getConn() {
Connection conn = null;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
String db = "jdbc:microsoft:sqlserver://HNSY/SQL:3638;DatabaseName=hnsy"; 
String username ="sa"; 
String userpwd ="sa"; conn = DriverManager.getConnection(db,username,userpwd);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}return conn;
}
错误:Server startup in 2037 ms
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 javabean.DB.getConn(DB.java:12)
at javabean.login.doPost(login.java:39)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run
sql2000 sp3补丁已经安装。

解决方案 »

  1.   

    可能是因为SQL2000需要的JAR包和其他版本的不一样
      

  2.   

    http://www.blogjava.net/lpeter/archive/2006/12/22/89501.html
    有人遇到相似的问题,LZ看看行不行的
      

  3.   

    以前还曾经研究过,忘记了啊。。
    看看jdbc连接各个数据库的驱动的写法有啥不同,我记得每个版本的驱动写法都不同。或者可以试试Class.forName(driver).newInstance();试试~
      

  4.   

    newInstance()没用。。2005可以  换2000以后 你的jar包重新导入了吗?2005好像只有一个jar包,而2000是需要3个jar包的
    msutil.jar , msbase.jar , mssqlserver.jar
      

  5.   

    得打上SP4的补丁,我给你地址http://u.115.com/file/dngxezaz