用SP4打了SQL的补丁(SETUP安装的),有装了SQL Server 2000 Driver for JDBC Service Pack 3 并把3个JAR设置了CLASSPATH,又放在了WEB-INF/下,还是连接不上。
<%@ page import="java.sql.* "%><%
String DatabaseDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=test1";
String user="sa";
String password="sa";
String sql="select * from post";
Connection conn=null;
ResultSet rs=null;

try{
out.println(DatabaseDriver);
Class.forName(DatabaseDriver).newInstance();
}
catch(Exception e){
out.println("error driver");
} try{
conn=DriverManager.getConnection(url,user,password);
Statement stm=conn.createStatement();
rs=stm.executeQuery(sql);
while(rs.next()){
                        out.println("<p align=center><font size=3 color=red>"+rs.getString("name")+"</font></p>");
}
conn.close();
}
catch(SQLException e){
out.println("link error!!!");
}
%>错误提示:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: com/microsoft/jdbc/base/BaseDriver
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.post_jsp._jspService(org.apache.jsp.post_jsp:89)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NoClassDefFoundError: com/microsoft/jdbc/base/BaseDriver
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1650)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:856)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1305)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1187)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:127)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:65)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:164)
org.apache.jsp.post_jsp._jspService(org.apache.jsp.post_jsp:65)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.12 logs.如没有newInstance();则提示:com.microsoft.jdbc.sqlserver.SQLServerDriver  error driver  link error!!!

解决方案 »

  1.   

    三个都配置好了吗?可以把三个jar拷到tomcat/common/lib下
      

  2.   

    包没有导入
    三个jar拷到tomcat/common/lib
      

  3.   

    写不要管3个jar有没有拷到tomcat/common/lib,先看看你的1433的端口有没有在侦听
    用命令查看:netstat -an 1433 
    接着看能不能连上 ,用命令:telnet localhost 1433
    如果上述结果都正常,那就是你的配置问题了
    否则你的数据库端口本身就没有连上
    有问题找我:QQ:121323996
    别忘了给我分,我现在正急着等分用啊。
      

  4.   

    javax.servlet.ServletException: com/microsoft/jdbc/base/BaseDriver
    这个错误应该是msbase.jar包的问题  三个包都要在CLASSPATH配置的
    端口问题是这个错误 java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. 
      

  5.   

    以下是我的 classpath 3个JAR在C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib目录下(即安装的目录):
    .;C:\xcjava;C:\j2sdk1.4.2_04\rhino1_6R1\js.jar;
    C:\Program Files\Java\j2re1.4.2_04\lib\ext\QTJava.zip;
    C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;
    C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;
    C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;
    C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib
    请大家看看有什么错误?
      

  6.   

    把msbase.jar,mssqlserver.jar,msutil.jar复制到你yourweb/WEB-INF/lib下。
      

  7.   

    用SP4打了SQL的补丁(SETUP安装的)
    ===========================
    楼主的错误就出在这里,setup只是解压缩,解压缩后的bat文件才是真正的安装