之前程序是连接的oracle11G数据库,由于11G官方不再维护,很多客户升级到了oracle19C,

导致程序连接报错

我这边jdk为1.8 oracle jdbc驱动为

<dependency><groupId>com.oracle</groupId><artifactId>ojdbc14_g</artifactId><version>10.2.0.4.0</version>
</dependency>

报错信息为java.sql.SQLException: ORA-28040: 没有匹配的验证协议

有一种解决方式为远程到oracle服务器,修改oracle服务端配置文件,改为兼容oracle11版本。

但是这种不大推荐,数据库服务器不是我们可以随便去远程,修改的,好多系统可能用一个实例。

所以修改数据库服务器配置的做法很多地方不适用。

1.jdk8程序连接oracle19C数据库

解决方法为升级orace jdbc驱动

修改pom文件ojdbc依赖为

 <dependency><groupId>com.oracle.ojdbc</groupId><artifactId>ojdbc8</artifactId><version>19.3.0.0</version></dependency>

我们发现更新pom后 ojdbc8-19.3.0.0.jar依赖引入了很多jar,具体哪些可以从ojdbc8-19.3.0.0.pom看到,这些依赖都是不能排除的。排除了可能数据库能连接上 查询字段时缺少转换报错等

下面是我从oracle官方下载的jdk8 连接oracle19C 的jdbc驱动 jar集合,方便非maven结构项目使用。

2.jdk7连接oracle19C数据库

另外需要注意的是 如果数据库是oracle11G,jdk7,jdk8都是使用oracle14G驱动就行,而如果是oracle19C ,jdk7和jdk8的驱动不一样的。

jdk7的项目连接oracle19C数据库使用ojdbc7-12.1.0.2.jar驱动即可

对应的pom,注意是中央仓库的cn.easyproject包下,com.oracle下我好像没找到ojdbc7-12.1.0.2

<dependency><groupId>cn.easyproject</groupId><artifactId>ojdbc7</artifactId><version>12.1.0.2.0</version>
</dependency>

3.报错Caused by: java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK

我这边pom跟新后启动可以,但是sql报错提示上诉错误,提示少了orai18n.jar

我查看ojdbc8-19.3.0.0.jar的pom有这个依赖的..

查看依赖关系也没引入orai18n.jar

查到原因是ojdbc8-19.3.0.0.jar的pom引入orai18n.jar时增加了<optional>true</optional>

导致不会依赖传递,但是这个这个pom我这边又不好改动 

解决方案是pom单独增加下该依赖,更新依赖,重启,sql执行成功

 <dependency><groupId>com.oracle.ojdbc</groupId><artifactId>orai18n</artifactId><version>19.3.0.0</version><optional>true</optional></dependency>

后续又发现问题,maven clean mvn package打包时,orai18n.jar 没打包进去,项目引入该jar时也需要把<optional>true</optional>标签去掉,mvn package才会把该jar打包进去

 <dependency><groupId>com.oracle.ojdbc</groupId><artifactId>orai18n</artifactId><version>19.3.0.0</version></dependency>

4.最后附上jdbc驱动下载链接

jdk7_jdk8-oracle19C所需驱动.zip_jdk8的oracle驱动-互联网文档类资源-CSDN下载

java jdk7,jdk8连接oracle19C数据库ojdbc驱动相关推荐

  1. 【工作笔记】如何在MySQL官网下载Java连接MySQL数据库的驱动jar包

    我们在开发时,Java连接MySQL数据库需要驱动jar包,而驱动包的版本要跟MySQL数据库版本相匹配,以下介绍怎样在MySQL官网下载各MySQL数据库对应版本的驱动包. 1.登陆Oracle官网 ...

  2. idea如何给oracle添加数据_intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作...

    intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作 发布时间:2018-07-04 10:09, 浏览次数:2532 , 标签: intelij idea jav ...

  3. jaba窗体连接mysql增删改查_知识实现——Java使用jdbc连接MySql数据库,实现增删改查...

    Java使用jdbc连接MySql数据库,实现增删改查 首先,导入MySql连接数据库的jar包,我用的是 mysql连接jar包 DB类,用于获得数据库连接 import java.sql.Driv ...

  4. java和连接数据库的驱动_java中连接各数据库的驱动类和连接方式

    1.JAVA连接ACCESS数据库 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url="jdbc:odb ...

  5. php java sql_java如何连接sql数据库?

    1.准备工作: 准备相关的软件(Eclipse除外,开源软件可以从官网下载) <1>.Microsoft SQL server 2005 Express Edition 下载地址:http ...

  6. java写一个窗体并连接MySQL_大神帮忙写一个简单地java页面,连接MySQL数据库之后能够显示数据库上的数据...

    展开全部 用jdbc 连接mysql数据库就行了,网上搜下一大把. --记得在classpath下加入mysql 的jdbc驱动包. /** * @author :来e68a84e8a2ad32313 ...

  7. java jdbc 连接mysql数据库,Java 通过JDBC连接Mysql数据库

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...

  8. [转]Java 通过JDBC连接Mysql数据库的方法和实例【图文说明】

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...

  9. Java原生代码连接MySQL数据库

    本章我们介绍, 如何用java原生代码实现连接MySQL数据库并实现基本的增,删,改,查操作. 为了便于演示,首先我们使用Navicat Premium新建一个user表并添加如下数据: ​​​​​​ ...

最新文章

  1. 在没有深度学习的情况下找到道路
  2. typedef 返回类型(*Function)(参数表) ——typedef函数指针
  3. 大数据、机器学习与深度学习类命令行工具汇总
  4. Oceanus:美团HTTP流量定制化路由的实践
  5. leetcode[217].存在重复元素
  6. priority_queue+贪心:运输(题解)
  7. MFC多视图与重绘效率
  8. bzoj2462 [BeiJing2011]矩阵模板 hash
  9. fabric.js 不同类型 不同控件_策略模式支持不同类型的消息队列
  10. myeclipse 内存不够用报错PermGen space 和 An internal error has occurred.
  11. ueditor富文本
  12. 直播短视频源码如何编写uni-app登录功能界面
  13. matlab或_Matlab下载安装教程
  14. yolov5导出onnx用netron.app可视化搜索
  15. python爬取新浪微博大V的所有微博内容
  16. 【目标检测数据集】一、PASCAL VOC数据集简介
  17. 无限循环小数四则运算_无限循环小数的加减乘除及无限循环小数转换为分数形式-何长峻...
  18. pgp解密 java_Java PGP加密解密实例教程详细操作步骤
  19. MYSQL求百分比的几种方法
  20. 第一代程序员王小波 (送书活动)

热门文章

  1. Python利用Face++实现身份证件图片识别
  2. Vim 匹配相同的单词并高亮
  3. 【优化求解】基于遗传算法优化PARSEC 方法的翼型形状附matlab代码
  4. 小米电视没有U盘怎么安装软件方法
  5. offiice2013全套软件,加破击工具,教程,真是验证过链接:https://pan.baidu.com/s/1Csv4ZXDQyK_cKfpIXwwn6Q 提取码:h7dp 复制这段内容后打
  6. 行存储和列存储小介绍
  7. 【房间墙上凿个洞,看你在干嘛~】安全攻防内网渗透-绕过防火墙和安全检测,搭建DNS隐蔽隧道
  8. SQL注入漏洞 详解
  9. 刚性仿射变换算法_图像的仿射变换
  10. 机器视觉光源的选型要领