在用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,就不能使用这个驱动)
标签:tables,00,JDBC,target,database,jdk1.6,jar,oracle,驱动 From: https://blog.51cto.com/u_16200746/6803347