Oracle版本与驱动类匹配问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle版本与驱动类匹配问题相关的知识,希望对你有一定的参考价值。

我在Eclipse中测试连接Oracle数据库(Oracle11g)
先用的驱动包是ojdbc14.jar, 放入工程之后,测试程序。
Class.forName("oracle.jdbc.driver.OracleDriver");可以通过。
但是DriverManager.getConnection(url,user,password);却通不过,提示找不到合适的驱动。

然后我有把ojdbc14.jar 换成了ojdbc5.jar。
再测试,连Class.forName("oracle.jdbc.driver.OracleDriver");都通不过,提示找不到驱动类。但是在ojdbc5.jar里能够找到OracleDriver.class

怎么回事?郁闷。为了防止驱动包加错地方,我在WEB-INF\lib下加了之后,还在build path里也加了。
呵呵,我找到问题所在了,不在驱动上,而是URL上。真对不住各位
jdbc:oracle:thin:@localhost:port:sid. 我把sid的位置错以为是写数据库名称了。

不过我还是不明白,为什么我用ojdbc14.jar 就能找到驱动类, 而用ojdbc5.jar就不能呢。
我用的数据库是Oracle11g,这里存在版本匹配问题吗?
ojdbc5.jar是我从Oracle11g的文件夹里找到的,怎么还能不好用?

不存在版本匹配问题,11g应该可以兼容,要合适才好用,11g比较新,得找个相应版本的。 参考技术A 重启oracle监听 参考技术B 把具体的报错信息贴上来看看

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段

如果使用 imp 命令导入 dmp 文件提示 IMP-00058: ORACLE error 12547 encountered 就是导出 dmp 文件数据库的版本和当前导入数据库的版本不匹配导致的。
只要使用大文件编辑器将 dmp 里的版本号信息修改为和要导入的数据库版本一致后即可。
注: 一般的编辑器不支持大文件的编辑,这里推荐 UEstudio,文章后面有工具的获取和安装方法。

-- 查看oracle数据库版本
select 
banner as "oracle数据库版本" 
from v$version


将版本号由 11.02.00 改为 19.00.00 后进行保存。

工具获取:
小蓝枣的资源仓库


这里直接下一步或跳过都可以,如果只是编辑大文件是用不到。


打开大文件默认会有这个提示,直接选择第一个点击确定即可。

喜欢的点个赞❤吧!

以上是关于Oracle版本与驱动类匹配问题的主要内容,如果未能解决你的问题,请参考以下文章

CUDA驱动4.2版本不匹配? 295.40 与 295.41

selenium与chrome浏览器及驱动的版本匹配

Java 数据库 (oracle) odbc 驱动程序不匹配

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段

浏览器和驱动版本不匹配问题解决

Java 连接oracle时报错,ORA-28040:没有匹配的验证协议