同事写了一个java类实现从oracle数据库取数据出来然后再导入我们自己的sqlserver2005数据库,其中有一个字段取数据代码为:getString("content"):
一执行到这条语句就报如下错误:
java.sql.SQLException: Conversion to String failed
at oracle.sql.Datum.stringValue(Datum.java:181)
at oracle.jdbc.driver.ScrollableResultSet.getString(ScrollableResultSet.java:517)
at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1514)
at com.miracle.dm.immgr.mainnet.service.impl.MainNetMgrImpl.addMainDocs(MainNetMgrImpl.java:331)
at com.miracle.dm.immgr.mainnet.service.impl.MainNetMgrImpl.startAddMainnetDocs(MainNetMgrImpl.java:160)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
打电话问客户,他们说content字段在oracle数据库表里是varchar2(500),可getString()取这种字符串类型的字段应该没问题啊。
后来要同事用getObject(“content”)取出来再打印出来,居然不是字符串串值而是CLOB对象
网上搜了一下关于:Java 存储和读取 oracle CLOB 类型字段