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

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

问题现象

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

问题的风险及影响

影响客户业务无法进行。

问题影响的版本

所有的yashandb jdbc驱动版本。

问题发生原因

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

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

解决方法及规避方式

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

问题分析和处理过程

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

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

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

经验总结

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

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

相关推荐
snpgroupcn33 分钟前
深入了解SAP物料类型是什么?
运维·数据库
2401_8543910844 分钟前
Spring Boot影院管理系统:小徐的创新
服务器·数据库·spring boot
promise5241 小时前
MySQL实现按分秒统计数据量
linux·运维·数据库·sql·mysql·shell
忽晚♪‎( ᷇࿀ ᷆ و(و1 小时前
Redis
数据库·redis·缓存
golove6661 小时前
分布式数据库
数据库
听雪楼主.1 小时前
某客户Oracle RAC无法启动故障快速解决
数据库·oracle
liang_kk2 小时前
虚谷中使用PL/SQL改变模式下所有表的大小写
数据库·sql
PGCCC2 小时前
【PGCCC】PostgreSQL中的超级监控助手:pg_stat_monitor,您数据库的最佳搭档!
数据库·postgresql
人生在勤,不索何获-白大侠2 小时前
Sql Developer日期显示格式设置
数据库
pranaa2 小时前
数据结构:树的定义及其性质
数据结构·数据库·算法