JDBC-ODBC连接access出现java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver问题

ljsbg 2004-09-14 12:11:21
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dbUrl="jdbc:odbc:driver={Microsoft Access Driver (*.mdb);DBQ=c:\\access.mdb;";

Connection con =DriverManager.getConnection(dbUrl,"admin","1");
Statement state=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="selcet * from table1";
ResultSet rs=state.executeQuery(sql);
if(rs!=null){
while(rs.next()){
System.out.println("\t"+rs.getString("name"));
}
rs.close();
con.close();

编译时出现java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver问题,
我的JDK用的是IBM的1.4版.
sun.jdbc.odbc.JdbcOdbcDriver不是JDK自带的么,
为什么还报此问题?
...全文
2040 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
aiyufo 2005-03-05
  • 打赏
  • 举报
回复
因为DriverManager用的还是IBM的1.4版的,并不是rt.jar包里的
ljsbg 2004-09-14
  • 打赏
  • 举报
回复
OFFICE我是装了的,而且数据源我也已配好

Any more suggestion?
sxl6159078 2004-09-14
  • 打赏
  • 举报
回复
你要增加一个数据源,可能就没有这个问题了.
angelheart 2004-09-14
  • 打赏
  • 举报
回复
不会啊~~我就没遇到过这种问题~我用的是直接在SUN下的JDK1.4
你OFFICE装了没有???好象要装OFFICE才行的
ljsbg 2004-09-14
  • 打赏
  • 举报
回复
依照 翔 的意见,那个找不到类的问题已经解决.
但在获取连接的地方(第三行),又报java.lang.NullPointerException错误.

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dbUrl="jdbc:odbc:my_access";
Connection con =DriverManager.getConnection(dbUrl,"admin","jason");

my_access是在"ODBC"数据源的"用户dsn"中设置的,也设置如上的用户与密码.

为什么获取不到连接呢?
ljsbg 2004-09-14
  • 打赏
  • 举报
回复
to 翔:
啊?真的吗,把的你rt.jar传给我好吗?我的邮箱是: jason@haikou.cn
我用的异性环境是WSAD,JDK1.4是IBM的,它的核心基础类叫core.jar,其中没有sun.jdbc.odbc.JdbcOdbcDriver



wjwcsdn 2004-09-14
  • 打赏
  • 举报
回复
我发现JdbcOdbcDriver.class就在我的到JAVA_HOME\jre\lib\rt.jar里

hoho
ljsbg 2004-09-14
  • 打赏
  • 举报
回复
to 翔
sun.jdbc.odbc.JdbcOdbcDriver.class据说是虚拟名称吧,你有发现JdbcOdbcDriver.class在哪吗?
wjwcsdn 2004-09-14
  • 打赏
  • 举报
回复
到JAVA_HOME\jre\lib\rt.jar包里看看有没有sun.jdbc.odbc.JdbcOdbcDriver这个类
ljsbg 2004-09-14
  • 打赏
  • 举报
回复
哦,打错了,第二行代码是 :
String dbUrl="jdbc:odbc:my_access";

仍然报错
ljsbg 2004-09-14
  • 打赏
  • 举报
回复
改用数据源的方式连接,也报上述找不到类的错误.
改后代码为:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dbUrl="jdbc:odbc:my_access;";
Connection con =DriverManager.getConnection(dbUrl,"admin","jason");
ljsbg 2004-09-14
  • 打赏
  • 举报
回复
加上}仍还报错.

to sfdg
因为我不想依赖数据源,
如果这样的话,改一下路径就可以从一台计算机移到另一台上去,我觉得,很透明.
xys0523 2004-09-14
  • 打赏
  • 举报
回复
既然有了数据源,搞那么复杂干什么...
xys0523 2004-09-14
  • 打赏
  • 举报
回复
String dbUrl="jdbc:odbc:yourDSN";
xys0523 2004-09-14
  • 打赏
  • 举报
回复
String dbUrl="jdbc:odbc:yourDSN;";

AHUA1001 2004-09-14
  • 打赏
  • 举报
回复
java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
这个错误提示一般是找不到路径或者数据库的驱动配置的不对。
guestman 2004-09-14
  • 打赏
  • 举报
回复
看一下这里:
String dbUrl="jdbc:odbc:driver={Microsoft Access Driver (*.mdb);DBQ=c:\\access.mdb;";
少了一个“}”
应改为:
String dbUrl="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=c:\\access.mdb;";

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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