我正在使用JSP访问Oracle 10g。其中一个表包含具有clob数据类型的字段。
当使用getString API检索它并将其分配给String类型时,它会给出错误(java.sql.SQLException:转换为String失败)
我发现只有在使用参数ResultSet.CONCUR_UPDATABLE(不仅仅是FORWARE)准备Statement时才会发生这种情况
是否有任何解决方法,因为我需要使用ResultSet的API来稍后使用ResultSet。
感谢。
答案 0 :(得分:3)
似乎我找到了方法。要对ResultSet.CONCUR_UPDATABLE
使用ResultSet
,无法使用getString
获取clob字段。需要使用getClob
检索它。
这就是我所做的:
clobObj = rsJobList.getClob(6);
strTemp[4] = clobObj.getSubString(1, (int)clobObj.length());
然后可以获得字符串。
有人可以评论我的方法是否正常?感谢。
答案 1 :(得分:3)
您可以将其转换为查询本身的字符串。例如:
select TO_CHAR(dbms_metadata.get_ddl('TABLE', 'EMP', 'SCOTT')) DETAILS from dual
这对我来说很好。