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

本文分享了在从Kingbase迁移到达梦数据库时,遇到TEXT类型字段通过map接收时类型转换为dm.jdbc.driver.DmdbNClob的问题,解决方案包括连接参数设置、SQL查询处理和Java代码流读取。

之前项目用的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代码中,通过流读取出来重新赋值给字符串也是可以的,不提倡这个做法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值