jdbc连接达梦数据库,read string from reader error

tech2026-01-06  4

jdbc连接达梦数据库,read string from reader error

用jdbc连接达梦数据库的时候,当数据表中的字段类型为clob类型,且存储的内容过大时,提示了下面所示的错误:

reader string from reader error Caused by: java.io.IOException: 连接尚未建立或已经关闭 at dm.jdbc.driver.DmdbReader.readFromClob(DmdbReader.java:277) at dm.jdbc.driver.DmdbReader.read(DmdbReader.java:116) at com.alibaba.fastjson.serializer.ClobSeriliazer.write(ClobSeriliazer.java:30)

后来,仔细排查下发现,该字段经jdbc查询后返回的结果类型为characterstream,所以以常规的string类型去获取这个值可能会报错,解决方案为在url后加clobAsString,示例如下:

jdbc:dm://host:port&clobAsString=true

达梦操作手册给出的具体解释为: clob类型列调用resultSetMetaData的getColumnType()映射为 Types.VARCHAR 类型;默认 false ;取值(true/True, false/False)

最新回复(0)