之前项目用的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

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐