PreparedStatement 数据大小超出该类型的最大值
PreparedStatement 数据大小超出此类型的最大值
转载自: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 琢磨半天,不晓得为何,如果各位有知道的,请积极帮解答(*^__^*) 嘻嘻……
)
至于读,可以使用普通的方式读取,不会出现异常。