DM达梦数据库TEXT字段查询时的一些坑

之前项目用的kingbase数据库,转达梦数据库一些坑不断出现,昨天遇到一个,就是达梦库直接select TEXT 类型字段使用map接收时jdbc对应的类型为Clob类型,通过默认类型转换为dm.jdbc.driver.DmdbNClob类型,查询结果类似dm.jdbc.driver.DmdbNClob@3b*****,在JSONObject.fromObject()会报类型定义错误。

解决办法总结一下大概有几种:
①在连接后面加固定设置
## 达梦连接
url: jdbc:dm://192.168.2.115:5236?clobAsString=1
② 查询时特殊处理,例如
SELECT convert(varchar(5000),TEXT字段) AS TEXT字段 FROM table

当然还有其他方式,比如在Java代码中,通过流读取出来重新赋值给字符串也是可以的,不提倡这个做法。

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当在DM达梦数据库中修改字段长度遇到锁超的提示,可以尝试以下解决方法: 1. 检查当前锁情况:使用数据库管理工具或者系统提供的相关命令,查看当前是否存在其他事务正在使用或锁定该字段。如果是,请等待其他事务完成或者释放锁。 2. 提前通知相关用户:如果在生产环境中进行修改字段长度的操作,建议提前通知相关用户,确保没有正在进行对该字段的操作。 3. 调整超间:可以尝试调整数据库的锁超间,将其设置为更长的间,以便有足够的间完成字段长度的修改操作。 4. 检查索引和约束:在修改字段长度之前,检查是否存在该字段的索引或约束。如果存在,建议先删除相关索引和约束,再进行字段长度的修改操作。 5. 分批处理:如果表中的数据量较大,可以考虑将修改字段长度的操作分批进行,每次处理一部分数据,以减少对表的锁定间。 6. 优化查询语句:在进行字段长度修改操作,可以通过优化查询语句、减少事务执行间等方式来尽量缩短锁定间。 7. 联系技术支持:如果以上方法无效或者不适用,建议联系DM达梦数据库的技术支持团队,向他们咨询具体的解决方案。 请注意,在进行任何数据库操作之前,请务必备份数据,以防止意外情况发生。希望这些方法对您有帮助,如果您还有其他问题,请随提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值