转载自:http://heath-derek.iteye.com/blog/257046
今天在进行oracle开发的时候遇到了一个异常,在baidu一通没有结果后,进行了google尝试,最终挖掘出了答案,哈哈。
异常: java.sql.SQLException: 数据大小超出此类型的最大值: 2017
在将过长的字符串写入数据库中时,不能直接使用setString()方法,而应该使用“流”方式写入,如下:
CharArrayReader reader = new CharArrayReader(str.toCharArray());
ps.setCharacterStream(1, reader, str.length());
(ps.setCharacterStream(1,reader)这种写法时遇到了另外一个异常
java.lang.AbstractMethodError: oracle.jdbc.driver.OraclePreparedStatement.setCharacterStream(ILjava/io/Reader;)V 琢磨半天,不晓得为何,如果各位有知道的,请积极帮解答(*^__^*) 嘻嘻……
)
至于读,可以使用普通的方式读取,不会出现异常。
本文记录了在Oracle数据库开发过程中遇到的关于过长字符串插入的问题及解决方案。当字符串长度超过限制时,直接使用setString()方法会引发异常。文章提供了一种使用流方式插入的正确做法。
1404

被折叠的 条评论
为什么被折叠?



