Could not get list of tables from database. Probably a JDBC driver problem.

在用myeclipse8.5M1 反向生成代码时报错:

An internal error occurred during: "Generating Artifacts".

Could not get list of tables from database. Probably a JDBC driver problem. 

=============================

尝试了更换工作空间、重装myeclipse、更换oracle驱动(用工程自带的oracle.jar 替换成ojdbc5.jar 和ojdbc6

.jar(这里没有重启,所以没效果)),结果都没解决。

最后反正好了,最后的操作步骤好像是提交了新建的package文件价到svn库,然后就可以用了。然后想复现效果结果复现不了。

纳闷。。

后面知道原因了,与来更换驱动后要重启myeclipse

==============================

公司使用的oracle版本号是10.2,解压oracle.jar竟然没有META-INF文件夹,查看不到版本信息,只能把其中的一个class文件放入UltraEdit,第一行内容为:00000000h: CA FE BA BE 00 03 00 2D 00 3F 07 00 2C 07 00 2D

前四个字节为固定的 CA FE BA BE ,接下来的四个字节为次版本号(0003)和主版本号(002D),根据下表查看得知编译该class的jdk版本只能为jdk1.1 、jdk1.2 和jdk1.3。这是什么版本的oracle驱动?还不是官方的?

JDK 编译器版本 target 参数 十六进制 minor.major 十进制 minor.major
jdk1.1.8 不能带 target 参数 00 03 00 2D 45.3
jdk1.2.2 不带(默认为 -target 1.1) 00 03 00 2D 45.3
jdk1.2.2 -target 1.2 00 00   00 2E 46.0
jdk1.3.1_19 不带(默认为 -target 1.1) 00 03 00 2D 45.3
jdk1.3.1_19 -target 1.3 00 00   00 2F 47.0
j2sdk1.4.2_10 不带(默认为 -target 1.2) 00 00   00 2E 46.0
j2sdk1.4.2_10 -target 1.4 00 00   00 30 48.0
jdk1.5.0_11 不带(默认为 -target 1.5) 00 00   00 31 49.0
jdk1.5.0_11 -target 1.4 -source 1.4 00 00   00 30 48.0
jdk1.6.0_01 不带(默认为 -target 1.6) 00 00   00 32 50.0
jdk1.6.0_01 -target 1.5 00 00   00 31 49.0
jdk1.6.0_01 -target 1.4 -source 1.4 00 00   00 30 48.0
jdk1.7.0 不带(默认为 -target 1.6) 00 00   00 32 50.0
jdk1.7.0 -target 1.7 00 00   00 33 51.0
jdk1.7.0 -target 1.4 -source 1.4 00 00   00 30 48.0
Apache Harmony 5.0M3 不带(默认为 -target 1.2) 00 00   00 2E 46.0
Apache Harmony 5.0M3 -target 1.4 00 00   00 30

48.0

==============

出现错误,还是因为jar包问题,更换才ojdbc5.jar。然后重启myeclipse 就好了(一定要重启,否则没效果)。

可是项目组其他同事用的oralce.jar,确可以用。他们客户端有的装9i 有的装11g  ,而只有我装的是10g ,这还和客户端有关系么?

查看: http://zhouchaofei2010.iteye.com/blog/1733373   oracle驱动的选择,对象数据库oracle10.2 。项目使用jdk1.6 的驱动可以选择:

1:10.2 版本自带的ojdbc14.jar    适用于 JDK 1.4 and 5.0 (jdk1.6 可以解析低版本的驱动):

2:随Oracle 11.1发布的Oracle JDBC驱动11.1版本

ojdbc5.jar:   适用于jdk5 (jdk1.6 可以解析低版本的驱动)

ojdbc6.jar:   适用于jdk6 (如果你使用jdk1.5,就不能使用这个驱动)

猜你喜欢

转载自zhouchaofei2010.iteye.com/blog/1733282