1、连接sql2005:public final static String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
public final static String URL = "jdbc:sqlserver://localhost:9999;DataBaseName=bbs";
public final static String DBNAME = "sa";
public final static String DBPASS = "accp";

public Connection getConn() throws ClassNotFoundException, SQLException {
Class.forName(DRIVER);
Connection conn = DriverManager.getConnection(URL, DBNAME, DBPASS);
return conn;
}
我的Apache端口为9999,启动时是可以看见猫咪的。2、将sqljdbc.jar包放在WEB-INF/lib下
(为了保险起见,在环境变量CLASHPATH后也加上了D:\Program Files\Microsoft SQL Server 2005 JDBC Driver\sqljdbc_1.2\chs\sqljdbc.jar)3、数据库登录方式为SQL server和windows身份认证模式,帐号为sa,密码为accp,数据库登录成功。4、SQL Server服务器设置启动了TCP/IP,端口号改为9999.参考资料:http://blog.sina.com.cn/s/blog_62179ac30100ing8.html运行出现错误:com.microsoft.sqlserver.jdbc.SQLServerException: TDS 预登录响应不完整。目标服务器必须是 SQL Server 2000 或更高版本。
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.Prelogin(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at jspbbs.dao.impl.BaseDao.getConn(BaseDao.java:13)
at jspbbs.dao.impl.BoardDaoImpl.findBoard(BoardDaoImpl.java:21)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:65)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
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:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)
2010-5-19 11:43:35 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.index_jsp._jspService(index_jsp.java:109)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
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:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)
此题困扰了两天,网上查了很多资料都没有找到解决办法,只有上这里求救了

解决方案 »

  1.   

    public final static String URL = "jdbc:sqlserver://localhost:9999;DataBaseName=bbs";这里的9999不是指Tomcat的端口,而是数据库的端口改成1433即可,如下public final static String URL = "jdbc:sqlserver://localhost:1433;DataBaseName=bbs";
      

  2.   

    你把Tomcat和SQLSERVER的数据库端口都改成9999,这样是肯定不行的,端口冲突了,把SQLSERVER的端口改为1433即可
      

  3.   


    照你方法试过了,还是不行啊!我在java语句里写9999是因为我的数据库配置管理器->ip地址->IPAll的TCP端口号改成了9999了。
      

  4.   

    数据库的端口号和你Java语句里的端口号都要给为1433