ORA-01704: 字符串文字太长,插入语句SQL中,报这样的错误?怎么解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORA-01704: 字符串文字太长,插入语句SQL中,报这样的错误?怎么解决?相关的知识,希望对你有一定的参考价值。

一大串 clob 数据,插入报 ORA-01704: 字符串文字太长 错误

参考技术A 使用参数,或者流的形式写入,不要直接拼SQL 参考技术B 说明你字段的长度不够啊,修改一下字段的数据类型。

ora 01704 字符串文字太长

 

分析sql执行失败的原因,在于没有强制指定插入字符串为clob类型,解析sql时,oracle会把插入的字符串作为 “字符串类型”处理,由于oracle有最大字符串限制(不超过4000个字符),所以会报错。

 

DECLARE  
      clobValue EMR_PATIENT_BCLIST.BCCONTENT%TYPE;  
    BEGIN  
      clobValue := ‘{2}‘;   
      UPDATE EMR_PATIENT_BCLIST T SET T.BCCONTENT = clobValue WHERE REG_NO=‘{0}‘ AND ROW_NO=‘{1}‘ ;  
      COMMIT;  
    END;

 

以上是关于ORA-01704: 字符串文字太长,插入语句SQL中,报这样的错误?怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章

错误:ORA-01704:字符串文字太长

JAVA中操作CLOB大对象 ,提示ORA-01704字符串文字太长

CLOB 列和 SQL 插入文件

ORA-01704 错误,插入长度超过 4000 个字符的字符串

Python 插入长文本至Oracle

将 XML 插入 Oracle 中的 XMLTYPE 列时字符串文字太长