当前位置: 首页 > news >正文

【YashanDB知识库】如何配置jdbc驱动使getDatabaseProductName()返回Oracle

本文转自YashanDB官网,具体内容请见https://www.yashandb.com/newsinfo/7352676.html?templateId=1718516

问题现象

某些三方件,例如 工作流引擎activiti,暂未适配yashandb,使用中会出现如下异常:

image2024-6-24_17-24-17

问题的风险及影响

影响客户业务无法进行。

问题影响的版本

所有的yashandb jdbc驱动版本。

问题发生原因

工作流引擎activiti在启动时,会检测数据库厂商。其目前并未适配yashandb,故不认识yashandb

conn.getMetaData().getDatabaseProductName()方法返回的YashanDB,进而抛出异常退出。

解决方法及规避方式

yashandb jdbc 1.7.1及以后版本在连接串中提供了productName选项,可以指定为Oracle(activiti是支持oracle的)。

image2024-6-24_17-29-41

问题分析和处理过程

activiti在启动时会进行databaseProductName的判断,如果不匹配会异常退出:

image2024-6-24_17-43-42

上面截图中的databaseTypeMappings初始化如下:

image2024-6-24_17-44-51

可以看到,并不支持yashandb。所以yashandb的jdbc驱动要加一个配置参数productName,可以在这种情况下返回Oracle。

经验总结

如下java代码可以检测当前jdbc驱动是否支持productName参数:

如果输出为Oracle,那么支持;如果输出为YashanDB,那么不支持。

http://www.lryc.cn/news/450863.html

相关文章:

  • Hadoop三大组件之MapReduce(一)
  • SQL Server 分页查询的学习文章
  • 告别PDF大文件困扰!4款PDF在线压缩工具助你轻松优化!
  • Find My汽车钥匙|苹果Find My技术与钥匙结合,智能防丢,全球定位
  • mysql学习教程,从入门到精通,SQL UNION 运算符(27)
  • PKCE3-PKCE实现(SpringBoot3.0)
  • C++详解vector
  • Redis实战--Redis的数据持久化与搭建Redis主从复制模式和搭建Redis的哨兵模式
  • World of Warcraft [CLASSIC] Engineering 421-440
  • VUE3.5版本解读
  • spark计算引擎-架构和应用
  • VUE 开发——AJAX学习(二)
  • 机器学习-KNN分类算法
  • 云计算 Cloud Computing
  • 【算法】DFS 系列之 穷举/暴搜/深搜/回溯/剪枝(上篇)
  • 怎么绕开华为纯净模式安装软件
  • CentOS7 离线部署docker和docker-compose环境
  • Vue 自定义组件实现 v-model 的几种方式
  • Python Pandas数据处理效率提升指南
  • 最大正方形 Python题解
  • ubuntu中软件的进程管理-结束软件运行
  • Windows环境部署Oracle 11g
  • C语言进阶【8】--联合体和枚举(联合体和枚举这么好用,你不想了解一下吗?)
  • Android OTA升级
  • 【项目经验分享】深度学习自然语言处理技术毕业设计项目案例定制
  • 一觉醒来,YOLO11 冷不丁就来了
  • 智能编辑器、版本控制与自动化脚本
  • jenkinsfile实现镜像构建、发布
  • OSPF路由计算
  • 【设计模式-迭代】