小弟初学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)
我按书上做到这个步骤就做不下去了.... 请问我该如何解决问题?:(小弟对各位大侠的帮助感激不尽!
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)
我按书上做到这个步骤就做不下去了.... 请问我该如何解决问题?:(小弟对各位大侠的帮助感激不尽!
你可以到ibm网站上把驱动下了
然后添加到classpath里就不会有这个错误了
应该是com.ibm.db2j.jdbc.DB2jDriver这个驱动,Cloudscape 5.1里找找看
我执行下列语句后驱动问题解决了:
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 文件的,为什么仍会提示这样的错误呢?
此实例开头两步为:▉首先执行命令① 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▊我崩溃了!!为了解决这些问题我花了几天时间去尝试各种方法……痛苦啊!请各位大侠再帮帮我吧,谢谢了!!