小弟初学JAVA,暑假时看《Thinking In Java 2.0》从开头看到inner class那章;现在学校要我们用JAVA和数据库做软件工程大作业,内容为学生管理系统;小弟现在正在做Deitel的《Simply Java Programing》上面的实例练习(路还长着,还需多多加油呢,呜呜~)因为小弟没有任何数据库基础所以想通过做书上的“ATM应用程序”实例学习一些数据库的基本知识;书上提供了ATM的源代码以及做实例的步骤,实例要求我们做数据库连接和对源代码的部分修改;因为本小弟极其愚笨的缘故很快就遇到了不懂得解决的问题(T_T 呜呜~),下面请允许我讲一下我做这个实例的过程(使用Cloudscape 5.1):第一步:设置ClassPath环境变量
D:\Learning\JAVA\SimplyJava\SimplyJava-examples\Tutorial26\CompletedApplication\
ATM>C:\Cloudscape_5.1\frameworks\embedded\bin\setCP.bat //执行Cloudscape的setCP.bat文件;出现下列显示:D:\Learning\JAVA\SimplyJava\SimplyJava-examples\Tutorial26\CompletedApplication\
ATM>set DB2J_INSTALL=C:\Cloudscape_5.1D:\Learning\JAVA\SimplyJava\SimplyJava-examples\Tutorial26\CompletedApplication\
ATM>set CLASSPATH=C:\Cloudscape_5.1\lib\db2j.jar;C:\Cloudscape_5.1\lib\db2jtools
.jar;C:\Cloudscape_5.1\lib\db2jcview.jar;C:\Cloudscape_5.1\lib\jh.jar;C:\Cloudsc
ape_5.1\lib\license.jar;.;C:\Borland\JBuilder2005\jdk1.4\jre\lib \rt.jar;C:\Borl
and\JBuilder2005\jdk1.4\jre\lib;C:\Borland\JBuilder2005\jdk1.4\lib
-----------------步骤之间人为划分的分隔线---------------
紧接着第二步:运行ATM应用程序
D:\Learning\JAVA\SimplyJava\SimplyJava-examples\Tutorial26\CompletedApplication\
ATM>java ATM com.ibm.db2j.jdbc.DB2jDriver jdbc:db2j:ATM //输入命令行参数,JDBC驱动及数据库URL;出现下列显示:
Thank you for your interest in Cloudscape products. Your evaluation license has
expired.
java.sql.SQLException: No suitable driver
        at java.sql.DriverManager.getConnection(DriverManager.java:532)
        at java.sql.DriverManager.getConnection(DriverManager.java:193)
        at ATM.<init>(ATM.java:88)
        at ATM.main(ATM.java:907)
Exception in thread "main" java.lang.NullPointerException
        at ATM.loadAccountNumbers(ATM.java:809)
        at ATM.createUserInterface(ATM.java:477)
        at ATM.<init>(ATM.java:103)
        at ATM.main(ATM.java:907)
        
我按书上做到这个步骤就做不下去了....       请问我该如何解决问题?:(小弟对各位大侠的帮助感激不尽!

解决方案 »

  1.   

    No suitable driver 表示没找到合适的驱动;
    你可以到ibm网站上把驱动下了 
    然后添加到classpath里就不会有这个错误了
    应该是com.ibm.db2j.jdbc.DB2jDriver这个驱动,Cloudscape 5.1里找找看
      

  2.   

    感谢phygold(图梦)大侠!
    我执行下列语句后驱动问题解决了:
    set CLASSPATH=C:\Cloudscape_5.1\lib\db2j.jar但是随之又出现了另外一个问题:
    D:\Learning\JAVA\SimplyJava\SimplyJava-examples\Tutorial26\Comp
    ATM>java ATM com.ibm.db2j.jdbc.DB2jDriver jdbc:db2j:ATM
    Exception in thread "main" java.lang.NoClassDefFoundError: ATM此目录下明明有 ATM.class 和 ATM.java 文件的,为什么仍会提示这样的错误呢?
      

  3.   

    下面再补充说明一下这个问题
    此实例开头两步为:▉首先执行命令① C:\Cloudscape_5.1\frameworks\embedded\bin\setCP.bat
    显示以下内容:
    D:\Learning\JAVA\SimplyJava\SimplyJava-examples\Tutorial26\CompletedApplication\
    ATM>set CLASSPATH=C:\Cloudscape_5.1\lib\db2j.jar;C:\Cloudscape_5.1\lib\db2jtools
    .jar;C:\Cloudscape_5.1\lib\db2jcview.jar;C:\Cloudscape_5.1\lib\jh.jar;C:\Cloudsc
    ape_5.1\lib\license.jar;.;C:\Borland\JBuilder2005\jdk1.4\jre\lib \rt.jar;C:\Borl
    and\JBuilder2005\jdk1.4\jre\lib;C:\Borland\JBuilder2005\jdk1.4\lib;C:\Cloudscape
    _5.1\lib\db2j.jar;D:\Learning\JAVA\SimplyJava\SimplyJava-examples\Tutorial26\Com
    pletedApplication\ATM;
      *其中setCP.bat的内容为【
    set DB2J_INSTALL=C:\Cloudscape_5.1
    set CLASSPATH=%DB2J_INSTALL%\lib\db2j.jar;%DB2J_INSTALL%\lib\db2jtools.jar;%DB2J_INSTALL%\lib\db2jcview.jar;%DB2J_INSTALL%\lib\jh.jar;%DB2J_INSTALL%\lib\license.jar;%CLASSPATH%
    】▉然后执行命令② java ATM com.ibm.db2j.jdbc.DB2jDriver jdbc:db2j:ATM
    显示以下内容:
    D:\Learning\JAVA\SimplyJava\SimplyJava-examples\Tutorial26\CompletedApplication\
    ATM>java ATM com.ibm.db2j.jdbc.DB2jDriver jdbc:db2j:ATM
    Thank you for your interest in Cloudscape products. Your evaluation license has
    expired.
    java.sql.SQLException: No suitable driver
            at java.sql.DriverManager.getConnection(DriverManager.java:532)
            at java.sql.DriverManager.getConnection(DriverManager.java:193)
            at ATM.<init>(ATM.java:86)
            at ATM.main(ATM.java:905)
    Exception in thread "main" java.lang.NullPointerException
            at ATM.loadAccountNumbers(ATM.java:807)
            at ATM.createUserInterface(ATM.java:475)
            at ATM.<init>(ATM.java:101)
            at ATM.main(ATM.java:905)
     *以上显示java.sql.SQLException: No suitable driver表示找不到数据库驱动,到这里就做不下去了。▉为了解决驱动问题,我尝试了很多方法,后来用了下面这种方法,好像有了一点进展:
    在执行上面的命令①之前首先执行:
    set CLASSPATH=C:\Cloudscape_5.1\lib\db2j.jar然后再依次执行上面的命令①和命令②
    上面的java.sql.SQLException: No suitable driver不见了,倒是出现了另一个Exception:Exception in thread "main" java.lang.NoClassDefFoundError: ATM▊我崩溃了!!为了解决这些问题我花了几天时间去尝试各种方法……痛苦啊!请各位大侠再帮帮我吧,谢谢了!!