十万火急!!!怎样用jdbc连接db2数据库

spczhou 2000-08-14 09:46:00
我要用jdbc连接db2数据库.
找到了一个DB2java.zip文件,解压于mycode目录,并且classpath设置到此目录
然后代码如下,注册驱动器出错...
import java.sql.*;
import COM.ibm.db2.jdbc.app.*;
public class RiDBC
{
public static void main(java.lang.String[] args) {

try {
Class.forName("COM.ibm.db2.jdbc.app.DB2Driver").newInstance();
System.out.println("数据库驱动已加载...");
}
catch (Exception E) {
System.err.println("不能载入数据库驱动器...");
System.out.println("错误信息: " + E.getMessage());
E.printStackTrace();
}
}
执行后显示错误:
java.sql.SQLException:java.lang.UnsatisfiedLinkError:no db2jdbc in shared
library path
at COM.ibm.db2.app.DB2Driver.<init>(DB2Driver.java:143)
ar RiDBC.main()Ridbc.java:9)

望高手多多指教,解决问题一定给分...

...全文
686 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
spczhou 2000-08-15
  • 打赏
  • 举报
回复
致谢:
java版的jackzhu斑竹。我十分感谢您耐心细致的帮助我。
真不愧有大侠风范。特此向你表示由衷的感谢。
如果国家多一些您这样的人,我想我国的软件事业一定能上去。
将来我希望象你一样。。
Jackzhu 2000-08-15
  • 打赏
  • 举报
回复
DB2帮助中关于SQL的部分有错误码
spczhou 2000-08-15
  • 打赏
  • 举报
回复
谢谢jackzhu,jdk1.1.7下的问题我已搞定。是把COM。误写为Com。纠正后
就好了。最后一个问题:当连接数据库时,如果我输入的有效用户名和密码
等等有关访问数据库的参数有误时,会报错。同时有如:SQLSTATE=08S01
的信息。请问有没有什么参考手册之类去查SQLSTATE代码的具体含义。。
Jackzhu 2000-08-15
  • 打赏
  • 举报
回复
你的类路径看来是出了问题,因为具体的信息我看不到,也无法断定是什么原因
app包和net包的区别我也不是十分清楚,好象是app支持的是udb,但db2的例子中并未做详细说明,也许查查db2的帮助会有发现。
Jackzhu 2000-08-14
  • 打赏
  • 举报
回复
使用COM.ibm.db2.jdbc.net.DB2Driver试试,我用的他
DriverManager.registerDriver(new COM.ibm.db2.jdbc.net.DB2Driver());
Connection conn = DriverManager.getConnection ("jdbc:db2://dbserv:8888/test", "db2admin", "");
spczhou 2000-08-14
  • 打赏
  • 举报
回复
大喜,大喜通过检查类路径.我的程序好象连接上数据库了.
非常感谢你jackzhu.不过我还有两个问题不太明白.麻烦您
解答:1,如此说来,那么在jdk1.1.7环境下出错,是我的classpath设置不对吗?
2,com.ibm.db2.jdbc.app.db2driver和com.ibm.db2.jdbc.net.db2driver
有什么区别呢?他们对访问数据库有什么影响?
Jackzhu 2000-08-14
  • 打赏
  • 举报
回复
你在visualage运行时检查类路径了吗?
你db2的版本是多少?我的是5.0
我用的visualage是3.0企业版
spczhou 2000-08-14
  • 打赏
  • 举报
回复
jackzhu你好:
我按照你说的导入到visualage中,在Com.ibm.db2.jdbc.net.中也有DB2Driver类
但还是不行.老错误..另:Com.ibm.db2.jdbc.app.也有DB2Driver类.应该导入正确.
真是奇怪了...
Jackzhu 2000-08-14
  • 打赏
  • 举报
回复
很明显你目录中没有类Com.ibm.db2.jdbc.net.DB2Driver,但他的确在DB2java.zip中,
你将mycode目录下的类导入到visualage中,看看行不行。
DB2java.zip是该版本db2的驱动,没有问题的,java.sql.driver只是个接口,是做驱动必须继承的,连什么数据库就需要该公司提供符合该接口的实现程序。
cayyr 2000-08-14
  • 打赏
  • 举报
回复
还有 在检查一下classpath=.;%CLASPARG%;....\DB2java.zip
cayyr 2000-08-14
  • 打赏
  • 举报
回复
可能是DB2java.zip是for JDK1.2的
而你用的是JDK1.1.7,试试用JDK1.2

spczhou 2000-08-14
  • 打赏
  • 举报
回复
请问com.ibm.db2.jdbc包坏了的可能大不大,或者存在不同版本的问题.
若下载一个连接db2的驱动,到什么地方.java.sql.Driver这个驱动器能连吗?
它用来连什么数据库...
问题太多,请前辈不要嫌我罗嗦..还望您耐心指教.先行谢过...
spczhou 2000-08-14
  • 打赏
  • 举报
回复
运行后显示如下:
不能载入数据库驱动器..
错误信息:COM.ibm.db2.jdbc.net.DB2Driver
java.lang.ClassNotFoundException:Com.ibm.db2.jdbc.net.DB2Driver
at Ridbc.main(Ridbc.java:20)
我的java调试环境为:
1.visual age for java
2.jdk1.1.7+UltraEdit
同时调试,都是这个错误..
还劳您多多帮助...
Jackzhu 2000-08-14
  • 打赏
  • 举报
回复
使用COM.ibm.db2.jdbc.net.DB2Driver抛出相同的异常吗?
你的java调试环境是什么?
spczhou 2000-08-14
  • 打赏
  • 举报
回复
我觉得问题不在哪,我实际只执行代码
Class.forName("COM.ibm.db2.jdbc.app.DB2Driver").newInstance();
我还并没有去连数据库,就报错...
还望多多帮忙..
Jackzhu 2000-08-14
  • 打赏
  • 举报
回复
你启动了db2的db2jstrt.exe了吗,如果用java访问db2,需要运行该文件,运行格式为db2jstrt port
spczhou 2000-08-14
  • 打赏
  • 举报
回复
我试过了,不行

62,614

社区成员

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

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