目录

5.7.1. Oracle中clob字段存储问题

5.7.1. Oracle中clob字段存储问题

版本号:4.5

错误现象: 填报表,clob字段提交500以上汉字不能够保存。

后台错误信息: org.apache.tomcat.util.http.Parameters processParameters

错误原因分析: 少于500汉字可以正常提交,说明报表做的没有错。问题可能处在报表引擎本身,或数据库。我们知道在Oracle中,LOB类型分为BLOB和CLOB两种:BLOB即二进制大型对象(Binary Large Object),适用于存贮非文本的字节流数据(如程序、图象、影音等)。而CLOB,即字符型大型对象(Character Large Object),则与字符集相关,适于存贮文本型的数据(如历史档案、大部头著作等)。既CLOB字段的本意不是让我们存储字符串的。

解决方法:我们在文本中写入500以上汉字,用上载文件的方式,填报到数据库的CLOB字段中,是可行的。

建议:存储文本型的数据,应以文件流的方式,存储到CLOB字段中。而字符存储应该用varchar2类型。