使用jdbc的程序出现java.lang.NoClassDefFoundError的异常

TOMWLD 2002-10-31 10:05:19
很简单的代码,在JCreator的集成环境中可以执行,但在命令行下不能运行,要做哪些设置?代码如下:
import java.io.*;
import java.sql.*;

class SimpleJDBC{
public static void main(String[] args) throws SQLException,IOException,ClassNotFoundException{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dsURL="jdbc:odbc:JavaDb";
Connection connection=DriverManager.getConnection(dsURL);

if (connection==null){
System.out.println("Could not establish connection.");
}else{
System.out.println("Connection successfully established.");
Statement statement=connection.createStatement();

int rc=0;
rc=statement.executeUpdate("DROP TABLE EMPLOYEE");
rc=statement.executeUpdate("CREATE TABLE EMPLOYEE(EmpId integer,LastName char(30),FirstName char(30))");

statement.close();
connection.close();
}
}
}
...全文
1412 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
TOMWLD 2002-11-22
  • 打赏
  • 举报
回复 1
还是没搞明白,结贴吧
zg 2002-11-04
  • 打赏
  • 举报
回复
是执行到Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");出错的吗?如果是就是你的classpath没有配置好。在你的“环境变量”里的classpath里头设上你的jdk的路径。就象这样(.;E:\JBuilder7\jdk1.3.1\lib;E:\JBuilder7\jdk1.3.1\lib\ifxjdbc.jar;E:\JBuilder7\jdk1.3.1\lib\ifxjdbc-g.jar)
注意,前边的(.)一定要
atq9 2002-11-02
  • 打赏
  • 举报
回复
是的。ODBC不用设置什么。你的驱动有问题。
TOMWLD 2002-11-02
  • 打赏
  • 举报
回复
我用的jdk1.4.1,数据源已经设置了,但在命令行下运行会出错
yashiro 2002-11-02
  • 打赏
  • 举报
回复
用jdbc-odbc连接用不到设置什么了,只要在odbc里面定义数据源就可以了。
据说这种连接效率比较低,只能用在小数据量的应用里。
TOMWLD 2002-11-01
  • 打赏
  • 举报
回复
shixiaoxiang(骆驼祥子) 谢过了,不过我要的只是用了一下jdbc-odbc的连接,没有用到应用服务器,jdk应该有带的,但我不知道如何设置,虽然这种应用方式很少,但我想知道为什么
shixiaoxiang 2002-11-01
  • 打赏
  • 举报
回复
JDBC Connection Pool 的配置 以Mysql 小型数据库为例

在进行此项配置之前,先将欲使用的 数据库JDBC 驱动 Jar 文件放到D:\bea\wlserver6.1\lib\jdbc 目录下(建议这样做,没有jdbc目录就建一个呗),然后编辑D:\bea\wlserver6.1\config\mydomain 下的 startWebLogic.cmd 文件,在 classpath 中加入数据库的JDBC驱动文件,如红字部分:

:runWebLogic
echo on
set PATH=.\bin;.\bin\oci817_8;d:\oracle\ora81\bin;%PATH%
set CLASSPATH=.\lib\cr_wls60f.jar;.\lib\weblogic_sp.jar;.\lib\weblogic.jar;.\lib\jdbc\mysql.jar

这样 Weblogic 启动时才会加载欲使用的数据库JDBC驱动,配置也才会正常,否则会报错。
1)在Weblogic控制台中依次展开Services \ JDBC \ Connection Pools
2)单击 Configure a new JDBC Connection Pool...

3)填入每一项参数,结果如下:
url: jdbc:mysql://127.0.0.1:3306/test
driver classname:org.gjt.mm.mysql.Driver
properties(key=value):user=root
4) 别忘了点一下 Apply 即应用一下:)
5) Connections 签下的 初始容量、最大容量、容量增长等可根据自已需要配置
6) 还有至关重要的最后一步,我们做的以上配置工作还没有真正的应用到 Weblogic 上,所以还差一步,
选 Targets 签,选 Servers 签,选 Available (可用)中的 myserver ,然后点"-->" ,再点 Apply 应用一下。
这样我们所做的工作才会真正有效, Weblogic 也才会认识我们配置的 JDBC Connection Pool
TOMWLD 2002-11-01
  • 打赏
  • 举报
回复
再加了30分,希望有人能够指点迷津
TOMWLD 2002-11-01
  • 打赏
  • 举报
回复
定义了的,否则在JCreator中就不能运行
Kyoryo 2002-10-31
  • 打赏
  • 举报
回复
你是不是没有在ODBC里面定义数据源阿?
TOMWLD 2002-10-31
  • 打赏
  • 举报
回复
高手都去哪里了,难道要我一开始就用JBuilder吗?
TOMWLD 2002-10-31
  • 打赏
  • 举报
回复
是哪个jar文件啊
chrischen79 2002-10-31
  • 打赏
  • 举报
回复
classpath没配好,sun的jdbcodbc driver随jdk附带的。
希偌 2002-10-31
  • 打赏
  • 举报
回复
把jdbc的.jar的路径包含入系统变量的classpath中去
wide288 2002-10-31
  • 打赏
  • 举报
回复
我也遇到了这个问题还没解决呢
用户注册和登录是每个系统的必须存在的一部分,基于Dwr+Struts2+Spring+Hibernate写了一个用户登录注册系统。   其中用Dwr去进行用户注册的用户是否存在的验证。   全部业务控制交由Spring去进行处理。事务处理也交由Spring去管理。   压缩文件中不包含Jar文件(由于全部的Jar将近12M,不能全部上传),所用到的Jar目录为,工程中再也不会出现由于MyEclipse自动整合而出现的大量Jar文件 : Java代码 1. //如果不用,启动时不会出错,但使用Dwr时,会抛出异常java.lang.NoClassDefFoundError: antlr/ANTLRException 2. antlr-2.7.2.jar  3. 4. //如果不用此包,在启动时会抛出: nested exception is java.lang.NoClassDefFoundError: org/objectweb/asm/Type 5. asm.jar 6. 7. // 如果不用此包,在启动时抛 出:nested exception is java.lang.NoClassDefFoundError: org/aspectj /weaver /reflect/ReflectionWorld$ReflectionWorldException 8. aspectjweaver.jar 9. 10. //如果不用此包,在启动时抛出:nested exception is java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter 11. cglib-2.1.3.jar 12. 13. //如果不用此包,在启动时抛出:nested exception is java.lang.NoClassDefFoundError: org/apache/commons/collections/SequencedHashMap 14. commons-collections-3.1.jar 15. 16. //这个似乎可以不用的 17. commons-fileupload-1.2.1.jar 18. 19. //这个就不用说啦,几乎所有框架都要使用的 20. commons-logging-1.0.4.jar 21. 22. //如果不用此包会抛出:java.lang.NoClassDefFoundError: org/dom4j/DocumentException 23. dom4j-1.6.1.jar 24. 25. //dwr必须 26. dwr.jar 27. 28. 29. //不用此包,在启动时招聘:java.lang.NoClassDefFoundError: javax/transaction/TransactionManager 30. jta.jar 31. 32. //Mysql JDBC驱动 33. mysql-connector.jar 34. 35. //Hibernate必须使用,注意此包是包含全部的。 36. hibernate3.jar 37. 38. //Spring整体包 39. spring.jar 40. 41. //struts2必须 42. freemarker-2.3.8.jar 43. //struts2必须 44. ognl-2.6.11.jar 45. //struts2核心包 46. struts2-core-2.0.11.2.jar 47. //struts2整合Spring插件 48. struts2-spring-plugin-2.0.11.2.jar 49. //struts2必须 50. xwork-2.0.5.jar   数据库设计(使用MySql数据库): Java代码 1. create table user 2. ( 3. id varchar(32) not null, 4. userName varchar(20), 5. password varchar(20), 6. primary key(id) 7. ); 8. create table user_infor 9. ( 10. id varchar(32) not null, 11. user_id varchar(32), 12. name varchar(20), 13. email varchar(30), 14. sex char, 15. age int, 16. address varchar(300), 17. primary key(id) 18. ); 19. ALTER TABLE user_infor 20. ADD FOREIGN KEY(user_id) 21. REFERENCES user(id) 22. ON DELETE CASCADE; 由于没有包含全部的Jar文件,所以朋友需要把上面所述的Jar加载。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧