在用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,就不能使用这个驱动)
分享到:
相关推荐
描述中提到了具体的错误信息:"Problem Occurred Generating Artifacts",这个错误发生在2009年11月8日下午6:54:39(GMT+08:00),原因是"Could not get list of suggested identity strategies from database....
在使用MyEclipse集成开发环境和Hibernate框架进行Java Web应用开发时,可能会遇到一个常见的问题,即"Could not get list of suggested identity strategies from database"。这个错误信息表明Hibernate在尝试获取...
解决办法: 1.检查对应的数据库JAR包是否导入工程 2.检查.classpath文件里是否引入<classpathentry exported="true" kind="lib" path="C:/workspace/jtds-1.2.jar"/> 3.检查对应的JAR包是否导入Tomcat下的/common/...
1、写在开头 标题之前我想说一下Linux的mysql真的实在是太坑了。太坑了。总是会出现这样那样的你想不到的问题。崩溃了。首先来罗列一下我遇到过的...Cause:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorExcepti
在Java应用程序中,JDBC(Java Database Connectivity)驱动用于与各种数据库进行通信。当出现这个错误时,意味着程序无法找到指定的SQL Server数据库驱动程序,即`com.microsoft.sqlserver.jdbc.SQLServerDriver`。...
Cause com.mysql.jdbc.exceptions.jdbc4.CommunicationsException The last packet successfully received from the server was 47,795,922 milliseconds ago. The last packet sent successfully to the server was...
标题中的“Impala的JDBC编程驱动”指的是Impala(一个开源的、高性能的SQL查询引擎,用于处理存储在Hadoop集群中的数据)与Java应用程序之间的桥梁,即JDBC(Java Database Connectivity)驱动。JDBC驱动是Java...
在IT行业中,Java Database Connectivity(JDBC)是一个用于执行SQL语句的标准Java API,它使得Java程序员能够连接到各种类型的数据库。本主题将深入探讨针对sqlserver、mysql和oracle这三种常见数据库的JDBC驱动...
sqoop 导入数据时候报错ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: Could not load db driver class: oracle.jdbc.OracleDriver 缺少驱动包。
java连接saphana的jdbc驱动,驱动类:com.sap.db.jdbc.Driver,连接URL:jdbc:sap://${ip}:${port}/${example}?reconnect=true
java.lang.NoClassDefFoundError: Could not initialize class org.apache.derby.jdbc.AutoloadedDriver40 导致的原因: 在azkaban的server和executor中缺少一个叫derby.jar的包
oracle.odi.core.exception.OdiRuntimeException: java.lang.IllegalArgumentException: Could not load JDBC driver class [com.microsoft.jdbc.sqlserver.SQLServerDriver] at oracle.odi.core.datasource....
在使用深度学习框架如百度飞桨(PaddlePaddle)时,可能会遇到导入错误ImportError,具体表现为"Could not find 'cudnn64_7.dll'"。这个错误通常是由于CUDA(NVIDIA的Compute Unified Device Architecture)环境配置...
这是因为Kettle需要JDBC驱动程序(Java Database Connectivity)来与SQL Server通信,而jTDS是开源的JDBC驱动程序,专门用于连接Microsoft SQL Server和Sybase数据库。在这个情况下,jtds-1.3.1是jTDS的一个特定版本...
它支持多种数据库,包括MySQL,而与数据库的通信依赖于JDBC(Java Database Connectivity)驱动。JDBC驱动是Java程序连接到特定数据库的接口。 **知识点2:MySQL JDBC驱动** `mysql-connector-java`是MySQL提供的...
vscode 报错之 Could not read source map for file... 解决方案
标题 "Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser" 提示了一个Java运行时错误,这通常意味着在尝试加载或初始化`JRStyledTextParser`类时遇到了问题。`JRStyledTextParser`是...
Oracle和MySQL都是广泛使用的数据库系统,Java JDBC(Java Database Connectivity)驱动则是连接这两种数据库的重要桥梁。 JDBC是Java API,它允许Java程序通过标准接口与各种类型的数据库进行通信。JDBC驱动是这个...
jdbc-odbc驱动包,提示找不到驱动,java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver, 原因:从jdk从1.8开始,删除了jdbc-odbc桥,所以odbc的驱动是用不了的 解决方法:这里为提供一个解决JDK1.8不...