1. ORA-01704错误的原因 ORA-01704错误表示“字符串文字太长”。在Oracle数据库中,当你尝试将一个超过4000个字符的字符串直接插入到VARCHAR2类型的字段时,就会触发这个错误。因为VARCHAR2类型的字段在Oracle中最多只能存储4000个字符。如果你需要存储更长的字符串,应该使用CLOB(Character Large Object)类型的字段。 2...
DECLARE clobValue 表名.字段名%TYPE; BEGIN clobValue := 'XXX'; --字段内容 UPDATE 表名 T SET T.字段名 = clobValue WHERE 条件; COMMIT; END; / 参考网址:Oracle插入/更新CLOB字段报ORA-01704:字符串文字太长【解决方案】
insert into clobTable (id, story) values(1,'...'); 其中story为clob类型 如果story的长度大于2000字节,直接插入将出现 ORA-01704:文字字符串过长 的错误。 解决方案: 方案一、利用参数 insert into clobTable (id, story) values(1,:story); OracleParameter param = new OracleParameter("story", Oracle...
JAVA中操作CLOB大对象 ,提示ORA-01704字符串文字太长 分析:在ORACEL中大文本的不能直接插入,是因为oracle会将clob自动转为String,当文本字节超出4000字节,提示字符太长。 备注: GBK编码:一个汉字占两个字节。 UTF-16编码:通常汉字占两个字节,CJKV扩展B区、扩展C区、扩展D区中的汉字占四个字节(一般字符的Unicode范...
原因分析:sql在执行之前会把所有字符类型的数据转换成VARCHAR2类型,而VARCHAR2类型的最大长度为4000,所以当字符串超过这个长度就会转换失败。 方法1: 代码语言:javascript 复制 declare v_clob clob;beginv_clob:='很长的文字';insert into tablenamevalues(a,110,v_clob);end; ...
在Oracle中,Oracle插入或更新CLOB字段报“ORA-01704:字符串文字太长”如何解决? 答案部分 可以从以下2方面考虑解决: 1、如果插入的SQL比较少,那么可以人工处理。方法是使用PLSQL Developer软件,命令为:select * from 表名 for update。这样把相关的字段内容直接复制到CLOB字段中,最后提交即可。 2、如果插入的SQL比较...
Oracle 解决【ORA-01704:字符串文字太长】 错误提示:oracle在toad中执行一段sql语句时,出现错误‘ORA-01704:字符串文字太长’。如下图: 原因:一般为包含有对CLOB字段的数据操作。如果CLOB字段的内容非常大的时候,会导致SQL语句过长。隐式转换:oracle默认把字符串转换成varchar2类型,而这个字符串的长度,又比4000大...
字符串长度过长 解决方案 由于我所使用的是大量insert的方式,并且内容都含有html标签,所以采用拼接的形式,即: || to_clob('内容') 示例: select TO_CLOB('拼接示例') || TO_CLOB('这是一个测试SQL') from dual 执行结果 全局进行替换 替换为')||to_clob(' 替换为')||to_clob(' 替换为')||to_...
分析:在ORACEL中大文本的不能直接插入,是因为oracle会将clob自动转为String,当文本字节超出4000字节,提示字符太长。 备注: GBK编码:一个汉字占两个字节。 UTF-16编码:通常汉字占两个字节,CJKV扩展B区、扩展C区、扩展D区中的汉字占四个字节(一般字符的Unicode范围是U+0000至U+FFFF,而这些扩展部分的范围大于U+2000...
【解决方案】Oracle插入/更新CLOB字段报ORA-01704:字符串文字太长 解决办法: 1、如果插入的SQL比较少,那么可以人工处理。方法是使用PLSQL Developer软件,命令为:select * from 表名 for update。这样把相关的字段内容直接复制到CLOB字段中,最后提交即可。