为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8.1.3.140
【操作系统】:win10
【CPU】:I5-12600K
【问题描述】*:该项目属于springcloud.多数据源。使用mysql迁移后一切正常。增删改查一切正常。项目功能中有增加删减数据源业务,在增加MYSQL数据源后对DM数据库进行一个数据源记录修改的时候发生报错。仔细查看后发现是(试图在只读事务中修改数据).
翻阅了其他类似问题都不符合我遇到的情况。
1.驱动版本更新(非老版本)
2.oracle迁移(compatibleMode=oracle)
问:并没有增加dameng数据源,只是在添加mysql数据源结束后,去dameng数据库记录表更新状态(update)发生报错。只是在这个操作下发生了错误,在其他功能中对dameng数据库增删改查一切正常
连接串加上这个试下compatibleMode=oracle
在此结帖。此问题已经解决。不是驱动也不是连接串的问题
使用spring注解时错误的将事务设置为了只读导致
参考:https://blog.csdn.net/microtong/article/details/5058893
首先理解JDBC机制。
注:spring使用中需要注意是否使用了事务注解**@Transactional(readOnly = true) **这也是导致达梦数据库试图在只读事务中修改数据的错误。

推荐使用和数据库版本一致的驱动
驱动版本查看办法
java -jar DmJdbcxxx.jar
版本查看办法
select build_version from v$instance;