突然发现自己之前竟然还写过技术博客hhhhh,那就再补充一点之前的使用经验,给自己做个记录。
Activiti引擎支持的大多是国外数据库,如果公司要求数据库国产化的话,就免不了适配国产数据库,我在项目研发过程中适配了两款国产数据库:达梦7和金仓7,Activiti版本为6.0.0
简述一下适配过程:
1. 数据库配置项的驱动和数据源改为对应国产数据包资源
2. Activiti的数据库配置选oracle,修改activiti源码内的sql语句,替换NVARCHAR类型。这个部分具体操作流程可以参考达梦官博发布的文章,亲测可用。达梦和金仓都可以用oracle来兼容。https://weibo.com/ttarticle/p/show?id=2309404124388625636846
3. 测试过程中以上两步即可解决问题。如果在生产环境中需要读写到指定库的指定模式下,可能遇到数据库模式层带来的读写问题,解决方案提供一个思路:
a) 创建模式同名用户,登录后即可直接读写至同名模式目录下;
b) 如无法解决,可在数据库中创建同义词,如下例所示,通过使用同义词将模式名屏蔽掉,就可以正常读写了,亲测可行。需要注意首次启动项目自动生成Activiti的28张表后可能需要进行一次迁移,迁移至指定模式之后再创建同义词。也要注意使用对应数据库用户来创建同义词。
CREATE SYNONYM ACT_RU_TASK FOR SCHEMANAME.ACT_RU_TASK;
达梦7和金仓7均可以通过以上步骤来完成适配,但由于是很久之前的工作了,具体步骤和流程记不清了,只能提供一个基本的思路给自己做个记录。如有疑问,欢迎交流。