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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐