我的myelipse里面有一个jsp页面,需要访问sqlserver2008数据库,我已经把一个名叫sqljdbc4.jar的文件(从微软官方下的sqlserver200808的驱动)放入到该项目里的WEB-INF中的lib里面,可是连结的时候显示ClassNotFound,但是用jdbc-odbc的方式就可以连接成功,不知道是怎么回事。
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connStr = "jdbc.microsoft:sqlserver://localhost:1433;DatabassName=databass";
Connection conn = DriverManager.getConnection(connStr,"sa","sa");上面这种方式就会报错。Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection connection = DriverManager.getConnection("jdbc:odbc:database","sa","sa");这种方法就可以!!!高人指点一下啊!!!

解决方案 »

  1.   

    我是lz 顺便再说一下啊,不管是 :Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");还是 :Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");都是ClassNotFound,大家都说应该是第二种,可是我看sqljdbc4.jar里面的包名是
    com.microsoft.sqlserver.jdbc 里面有个累是SQLServerDriver 所以理论上应该是第一种写法啊
      

  2.   

    string connStr = "jdbc.microsoft:sqlserver://localhost:1433;DatabassName=databass";jdbc:microsoft:sqlserver
    ,你写的.
      

  3.   

    你看你的connStr   jdbc后面怎么是个.应该是:
      

  4.   

    哎这都是手误,我的程序上写的都没错。而且提示的是class.forname()这classnotfound啊
      

  5.   

    myeclipse导入包后需要刷新一下,你关闭project 然后再打开试试
      

  6.   

    你说你的驱动包是放到lib下??请问到底是放到呢还是导入的呢?如果是copy到,请对驱动包进行bulid path操作,谢谢!
      

  7.   

    楼主听好了,将连接字符串中的microsoft去掉,再试试,不行,记得把异常贴出来看看。
      

  8.   

    你放入之后他会自动在build path路径中自动生成的,当然这两个我全确认了没问题。
      

  9.   

    不可能,不用试也只到不行。。当然试了更不行。。java.lang.ClassNotFoundException: com.sqlserver.jdbc.SQLServerDriver
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
    at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:128)
    at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.apache.jsp.selectJDBC_jsp._jspService(selectJDBC_jsp.java:62)
    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:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Unknown Source)这是异常