把DB2的驱动拷贝到/tomcat/common/lib目录里试试看。

解决方案 »

  1.   

    driver包名写错了,com要小写;url写的也有毛病
    Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance(); 
    String url="jdbc:db2://localhost:5000/sample"; 
    //sample为你的数据库名 
    String user="admin"; 
    String password="xxxx"; 
    Connection conn= DriverManager.getConnection(url,user,password);
      

  2.   

    jdbc drive名:com.ibm.db2.jdbc.app.DB2Driver
    并且确定放在了TOMCAT\common\lib或TOMCAT\webapp\yourapp\WEB-INF\lib下面
      

  3.   

    再拜:
    1) 我在DB2安装目录的"\java"目录下拷贝了db2java.zip并解压到C:\tool\Apache Group\Tomcat 4.1\common\lib\目录下;
    2) 并保证"DB2Driver.class"文件已经存在目录 C:\tool\Apache Group\Tomcat 4.1\common\lib\com\ibm\db2\jdbc\app但是执行到语句:
    ...
    Class.forName("com.ibm.db2.jdbc.app.DB2Driver");
    ...
    还是出现 ClassNotFoundException 错误。请问:
    a) 我到底是哪里做错了?
    b) 还有我没有在tomcat里面设置JNDI,请问这个有关系吗?To:fft123(专杀各类日本畜生)先生,
    Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance(); 好像有编译错误来的。
    这句话是什么意思来的?
      

  4.   

    现在的代码:...
            /************************************************
             * Connect to DB
             ************************************************/
            Connection conn  = null;
            Statement stmt   = null;
            ResultSet rset   = null;    
            try{
              //Get DB2 JDBC driver
              informationArea.setText("0000000000000000000000");
              Class.forName("com.ibm.db2.jdbc.app.DB2Driver");
              informationArea.setText("111111111111111111111111111111");
              //Connect to DB
              conn= DriverManager.getConnection(DB_URL, "wawa", "rossie");
              informationArea.setText("333333333333333333");
              stmt = conn.createStatement();
              String sql = " SELECT BADGE_ID AS ID, "  
                         + "        LASTSEEN AS LASTSEEN, " 
                         + "        MSG_TYPE AS TYPE, "
                         + "        X_POS    AS X, "
                         + "        Y_POS    AS Y "
                         + " FROM BADGE_INFO "
                         + " ORDER BY LASTSEEN ";
              informationArea.setText(sql);
              rset = stmt.executeQuery(sql);          
      
              int colId = 0;
              String colName = null;  
              while(rset.next()){
                //Load data into vector...          }  
            } catch(ClassNotFoundException e){          
              informationArea.setText("ClassNotFoundException");
              e.printStackTrace();    
            } catch(SQLException e){
              informationArea.setText("SQLException");
              e.printStackTrace();
            }
            finally{
              if(rset != null){try{rset.close();}catch(SQLException e){}}
              rset = null;
              if(stmt != null){try{stmt.close();}catch(SQLException e){}}
              stmt = null;
              if(conn != null){try{conn.close();}catch(SQLException e){}}
              conn = null;
            }
    ...
      

  5.   

    不要解压jar包!!直接把jar包放在C:\tool\Apache Group\Tomcat 4.1\common\lib\就可以了
    如:C:\tool\Apache Group\Tomcat 4.1\common\lib\db2java.zip
    还有要把这个jar加到classpath里才行.看看你的classpath里有没有这个jar另:Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance(); 编译错误就把最后那句去掉,改成:Class.forName("com.ibm.db2.jdbc.app.DB2Driver");
    我自己感觉好像加不加这一句都可以,不清楚有什么区别。这句话是告诉DriverManager,我在当前jvm里生成了DB2Driver这个驱动的实例,你可以去用了。
      

  6.   

    实在感谢你的回答,fft123!
    抱歉的是,我按照你的方法试过,好像还是有ClassNotFoundException问题(还是用的最近上面的代码),
    我的classpath值如下,实在想不出到底哪里有毛病了:.;C:\tool\Apache Group\Tomcat 4.1\common\lib\servlet.jar;D:\Program Files\SQLLIB\java\db2java.zip;D:\Program Files\SQLLIB\java\runtime.zip;D:\Program Files\SQLLIB\bin; C:\tool\Apache Group\Tomcat 4.1\common\lib\db2java.zip好晚了,我先去睡觉了,have a good day my buddy!
      

  7.   

    classpath这样改一下试试:(假设jdk1.4是你的jdk的安装目录)
    .;C:\jdk1.4\lib\tools.jar;C:\jdk1.4\lib\dt.jar;C:\tool\Apache Group\Tomcat 4.1\common\lib\servlet.jar;D:\Program Files\SQLLIB\java\db2java.zip;D:\Program Files\SQLLIB\java\runtime.zip
      

  8.   

    呜呜,还是不成功啊。再问一下:在连接之前,需要配置TOMCAT得JNDI吗?
      

  9.   

    真是惭愧,这么久还没有把问题搞定,我在网上看了这两个连接:
    http://archives2.real-time.com/pipermail/tomcat-users/2002-July/074093.html
    http://www-3.ibm.com/software/data/db2/java/v5/faq.html#q7
    描述的似乎是和我一样的问题,按照上面所说的处理了jar文件,还重装了DB2,可是俺的代码ClassNotFoundException错误依旧。谁能帮帮五,再拜!
      

  10.   

    //Connect to DB
            Connection conn = null;
            Statement stmt = null;
            ResultSet rset = null;
        
            try{
              // DB2 JDBC driver;ibm驱动的第一个COM是大写的,不要改成小写的了,前面说错了
              Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");
              // connect 2 db,url要写正确
              String url = "jdbc:db2://db2ctlsv:5000/laura";
              conn= DriverManager.getConnection(url, "admin", "xxxx");
              // statement
              stmt = conn.createStatement();
              ..................
              }直接连接时tomcat不用配数据源和jndi,这些是你用连接池的时候需要配置的
      

  11.   

    试过了,错误依然如故,我换了weblogice的服务器,还是同样的错误。我到底是惹到谁了?
      

  12.   


     驱动器 C 中的卷是 本地磁盘
     卷的序列号是 BCA6-15F1 C:\tool\Apache Group\Tomcat 4.1\common\lib 的目录2003-11-06  17:59       <DIR>          .
    2003-11-06  17:59       <DIR>          ..
    2003-10-27  10:22               45,386 activation.jar
    2003-10-27  10:22               72,933 jasper-runtime.jar
    2003-10-27  10:22              183,104 jasper-compiler.jar
    2003-10-27  10:22               38,836 naming-resources.jar
    2003-10-27  10:22               39,523 commons-pool-1.1.jar
    2003-10-27  10:22              165,119 commons-collections.jar
    2003-10-27  10:22               28,520 naming-common.jar
    2003-10-27  10:22               22,327 commons-logging-api.jar
    2003-10-27  10:22              736,810 ant.jar
    2003-10-27  10:22              280,984 mail.jar
    2003-10-27  10:22               79,265 servlet.jar
    2003-10-27  10:22                6,727 jdbc2_0-stdext.jar
    2003-10-27  10:22               98,496 jndi.jar
    2003-10-27  10:22               18,245 naming-factory.jar
    2003-10-27  10:22              100,776 commons-dbcp-1.1.jar
    2003-10-27  10:22                8,674 jta.jar
    2003-09-16  19:05            5,082,050 tools.jar
    ===================================================================
    2002-06-16  21:42              338,990 runtime.jar
    2002-06-17  10:10            1,145,243 db2java.jar
    2002-06-17  10:10            1,145,243 db2java.zip.bak
    2002-06-16  21:42            1,671,552 sqlj.jar
    ===================================================================
    2003-11-17  00:01                    0 list.txt
                  22 个文件     11,308,803 字节
                   2 个目录  1,505,935,360 可用字节
      

  13.   

    哈哈,实在没办法重装windows系统吧
    我以前机器就是这样,什么路径都对,就是不认,tomcat,weblogic都起不起来
    害的我后来只好重装系统
      

  14.   

    试过了,错误依然如故,我卸载了DB27,换装了DB2 8的服务器,还是同样的错误。我到底是惹到谁了?谁能救救我!
      

  15.   

    db2java.zip  ---> db2java.jarC:\tool\Apache Group\Tomcat 4.1\common\lib\db2java.jar
      

  16.   

    我就是这样做的:
    1) db2java.zip  ---> db2java.jar
    C:\tool\Apache Group\Tomcat 4.1\common\lib\db2java.jar2)把db2java.jar加到classpath中去但是,呜呜呜,菩萨拯救我!
      

  17.   

    装了xp,一样的错误,我惹到谁了啊?
    ><....
      

  18.   

    不会吧?????????????
    换系统还出这种毛病??
    classpath里不要带空格再试试
    就是tomcat等东西不要安装到有空格的目录里
    还不行换个服务器如weblogic试试
      

  19.   

    我累死了,我累死了,我的笔记本也累死了,需要休息一下。><...
      

  20.   

    你打开你下载的驱动程序,看那个jar里面的目录是不是COM.ibm.db2.jdbc.app.DB2Driver
    一个一个目录对照(包括看又没有DB2Driver这个类),如果不是就错了
      

  21.   

    是的,对的,忘记说了,我是在applet里面试图连接数据库。我在htm文件里面调用语句如下:
    “<” APPLET CODE="DisplayAllBedgeApplet.class" WIDTH=530 HEIGHT=750 “>”
               “<”B>Sorry, you need a Java-enabled browser.</B“>”
    < /APPLET “>”但是我在jsp里面调用则是成功的,数据库表也可以顺利打开,检索到数据。
    jsp如下:test.jsp
    ------------------------------------------------------
    <%@ page session="false" %>
    <%@ page import="java.sql.*"%>
    <%@ page import="java.util.*"%> <html>
    <head>
    </head>
    This is a test to connect to DB2...
    <BODY>
    <%
        String url="jdbc:db2:sample";
        String user="db2admin";
        String password="88888888";
        // DriverManager.registerDriver(new COM.ibm.db2.jdbc.app.DB2Driver());  ==> this is ok too.
        Class.forName("COM.ibm.db2.jdbc.app.DB2Driver"); // Driver Type2
        Connection conn=null;
        try{
          conn= DriverManager.getConnection(url,user,password);        
          Statement stmt=conn.createStatement();
          String sql = "select * from wawa.project";      //schema
          System.out.println("executing:\n" + sql);
          ResultSet rs=stmt.executeQuery(sql);/**/
      %>
      <table border=1 cellspacing=1 cellpadding=0 >
          <%
          while(rs.next()) {
          int i = 0;
          %>
    <tr> 
          <td><%=rs.getString(3)%></td>
          <td><%=rs.getString(4)%></td>
          <td><%=i * 3%></td>
          <td><%=i * 4%></td>
          <td><%=i * 6%></td>
          <td><%=i * 6%></td>
    </tr>
        <%
            i++; 
        } // EOF while()
        //Clean up.
        rs.close();
        rs=null;
        stmt.close();
        stmt=null;
      } catch(SQLException e){
          e.printStackTrace();
        }
      finally{                        // 不管是否有出错,最后总要关闭连结
          if (conn!=null){ conn.close();}
      }
    %>
    </table>
    <body>
    <html>
      

  22.   

    为啥jsp里面可以成,而applet里面却不能装载,这到底是为虾米?为虾米啊!?我到底是惹到who了啊!救救我!