1. ORA-01704错误的原因 ORA-01704错误表示“字符串文字太长”。在Oracle数据库中,当你尝试将一个超过4000个字符的字符串直接插入到VARCHAR2类型的字段时,就会触发这个错误。因为VARCHAR2类型的字段在Oracle中最多只能存储4000个字符。如果你需要存储更长的字符串,应该使用CLOB(Character Large Object)类型的字段。 2...
1、如果插入的SQL比较少,那么可以人工处理。方法是使用PLSQL Developer软件,命令为:select * from 表名 for update。这样把相关的字段内容直接复制到CLOB字段中,最后提交即可。 2、如果插入的SQL比较多,那么需要先把所有的SQL语句插入到表中,然后对SQL语句进行处理。首先需要找规律,找到规律了,然后用PL/SQL块进行插...
clobValue 表名.字段名%TYPE; BEGIN clobValue := 'XXX'; --字段内容 UPDATE 表名 T SET T.字段名 = clobValue WHERE 条件; COMMIT; END; / 参考网址:Oracle插入/更新CLOB字段报ORA-01704:字符串文字太长【解决方案】
第二种方式:将数据切分成一段一段分散到表中存储 新建一张表用作CLOB内容存储,test中的CLOB字段就可以删除不要了 create table text( test_id varchar2(200),//test表的id,用作外键关联 text varchar2(3000),//CLOB的分段数据,以1000个汉字作为存储单元 sort number(8)//text的显示顺序,在展示内容是按此...
如果story的长度大于2000字节,直接插入将出现 ORA-01704:文字字符串过长 的错误。 解决方案: 方案一、利用参数 insert into clobTable (id, story) values(1,:story); OracleParameter param = new OracleParameter("story", OracleDbType.Clob); param.Direction = ParameterDirection.Input; ...
【解决方案】Oracle插入/更新CLOB字段报ORA-01704:字符串文字太长 解决办法: 1、如果插入的SQL比较少,那么可以人工处理。方法是使用PLSQL Developer软件,命令为:select * from 表名 for update。这样把相关的字段内容直接复制到CLOB字段中,最后提交即可。
问题复现 1.批量执行数据脚本时出现 解决方案 由于我所使用的是大量insert的方式,并且内容都含有html标签,所以采用拼接的形式,即: || to_clob('内容')...
v_clob clob;beginv_clob:='很长的文字';insert into tablenamevalues(a,110,v_clob);end; clob 是字段类型 方法2: 代码语言:javascript 复制 declare v_clob clob:='很长的文字';begin insert into tablenamevalues(a,110,v_clob);end; 实例 ...
UPDATE 表名 T SET T.CLOB字段名 = '内容非常多'; 在执行SQL的时候报了[ORA-01704:字符串文件太长]的错误,如下图所示: 以上SQL语法没有任何问题,但是如果CLOB字段的内容非常大的时候,会导致SQL语句过长,我认可网上的这个说法:隐式转换,oracle默认把字符串转换成varchar2类型,而这个字符串的长度,又比4000大...
text clob );创建JavaBean package cn.com;public class test{ private String id; private String text; ...//省略get/set⽅法 } 解决⽅式:使⽤变量,通过PL/SQL将数据赋予CLOB变量,通过引⽤变量将数据插⼊ mybatis具体XML内容如下:<insert id="insert" parameterType="cn.com.test"...