我用的是win xp sp2+SQLServer2005Express
在连接数据库时,
出现严重: Servlet.service() for servlet jsp threw exception
        java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1352)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:127)
at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:65)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at org.apache.jsp.MyJsp_jsp._jspService(MyJsp_jsp.java:47)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)这是第一次用MSSQL,所以有很多问题不太清楚。
sqlserver驱动程序我以导入项目的lib目录下。
以下是我的连接测试代码:
<%@ page contentType="text/html;charset=gb2312" %>
<%
java.sql.Connection conn;
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=demo";
String userID = "sa";
String Password = "root";
conn = java.sql.DriverManager.getConnection(url,userID,Password);   
%>
连接数据库成功
<%
}catch(java.sql.SQLException e){
out.println(e.toString());
}
%>
在网上查了很多,也试了很多方法,还是无法解决!真是不知道是什么原因。
希望高手,前辈指教

解决方案 »

  1.   

    java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver 
    这句异常信息的意思是:找不到驱动类,你把驱动类放到了项目的lib目录下,你有没有把你的数据库驱动类放到web服务器
    (如Tomcat)的lib目录下
      

  2.   

    没有驱动,你去sqlserver网站上下载一个jdbc驱动
      

  3.   


    一劳永逸的办法就是将 jar设置在系统的CLASSPATH环境变量里
      

  4.   

    msbase.jar
    mssqlserver.jar
    msutil.jar三个驱动包加载了吗?