在数据抽取时,开发需要clob类型的数据,但是目标库类型是blob类型的,于是抽取的时候报错: ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值错误 可能有以下几种原因: 可能有以下几种原因: 1.插入到字符串长度大于4000字节. 2.插入到表中的记录的某个字段数据的实际长度大于2000个字节(如果是UTF-8,则是1333个字节):或者是插入的记录中有两个或两个以上长度大于2000字节的字符串. 3.数据库与客户端的JDBC 驱动不匹配.对于UTF-8或欧洲的某些字符集,o…
原 因:某一个字段本为varchar2(1024),但是实际要插入的值超过varchar2允许的最大长度4000时,oracle自动将该字段值转化为Long类型,然后提示插入操作失败. 解决办法: 1)是不是真的要插入超过定义长度的值?否则对长度做判断,截取等. 2)若是,则将字段采用clob.blob,或者使用文件代替,字段保存文件地址即可. 对于clob.blob CLOB 定义 数据库中的一种保存文件所使用的类型. Character Large Object SQL 类型 CLOB 在…
本文转自  https://www.cnblogs.com/yingsong/p/5685790.html 原 因:某一个字段本为varchar2(1024),但是实际要插入的值超过varchar2允许的最大长度4000时,oracle自动将该字段值转化为Long类型,然后提示插入操作失败. 解决办法: 1)是不是真的要插入超过定义长度的值?否则对长度做判断,截取等. 2)若是,则将字段采用clob.blob,或者使用文件代替,字段保存文件地址即可. 对于clob.blob CLOB 定义 数据…
问题来源:我在执行sql生成json并存入数据库是报的错. 原因:存json的字段我定义其类型为varchar2. 分析:这个异常是指,用户向数据库执行插入数据操作时,某条数据的某个字段值过长,如果是varchar2类型的,当长度超过2000,--4000(最大值)之间的时候,oracle会自动将该字段值转为long型的,然后,插入操作失败.解决办法是:将此字段的类型改为clob或者blob类型: 但是将oracle数据库表中的varchar2类型直接改成clob类型会失败,解决办法如下:new…
在网上查了很久,有可能问题是出现在当从dual中取数据时,会将clob对象的字段转为Long型 最后的解决方法用到了Begin和end语法: 1.用到begin 和end 2.用到insert into value()语法 不能用insert into select from dual (union all)语法 3.参数,指定 jdbcType=CLOB 类型 <insert id="batchInsert" parameterType="java.util.List…
检查插入的值是否大于该字段数据类型约束的长度. 这个异常是指,用户向数据库执行插入数据操作时,某条数据的某个字段值过长,如 果是varchar2类型的,当长度超过2000,--4000(最大值)之间的时候,oracle会自动将该字段值转为long型的,然后,插入操作失 败.解决办法是:将此字段的类型改为clob或者blob类型: 但是将oracle数据库表中的varchar2类型直接改成clob类型会失败,解决办法如下: 1.new 一个 view { 假设我们有以下的表格: Customer…
1.这个异常是指,用户向数据库执行插入数据操作时,某条数据的某个字段值过长,如果是varchar2类型的,当长度超过2000,--4000(最大值)之间的时候,oracle会自动将该字段值转为long型的(-_-||有点坑~),然后插入操作失败. 2.改完数据类型之后还是报这个错,原因是:当从dual中取数据时,会将clob对象的字段转为Long型,所以mybatis里不能用select XXXX from dual union all的方式.而且mybatis里要这样写:jdbcType=CL…
今天调试程序是遇到了,下面的一个问题.我将对应的SQL语句拿到Toad下也能正常的执行,感觉有点莫名其妙,根据异常信息的提示查看对应的映射结果集也没发现错误,然后百度了一下,也有许多朋友也遇到过这样的问题,原因大概有两个,一是:结果集中的字段含有对应的数据库产品的关键字,二是:在xml文件中的SQL语句中,两个填充变量间没有写逗号,我仔细分析自己的SQL语句,觉得有可能是第二种原因!where 1 = 1 order by ? ?占位符的方式传递参数是确实没有逗号,我将SQL语句中order b…
感谢原作者:破剑冰-Oracle中Clob类型处理解析 上一篇分析:ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值 最近为Clob字段在插入数据时发现当字符的字节数(一个半角字符一个字节,一个全角字符两个字节)在2000-4000之间时报错(ORA-01461:仅可以插入LONG列的LONG值赋值).经过不断查找资料和自己的试验该问题终于得到解决,下边我将自己的心得给大家做一个分享. 准备 系统环境 xp+.net2.0+oracle9i 表结构(由于是测试,表结构随便建了一…
1.错误描述 Caused by:java.sql.SQLException:ORA-01008:并非所有变量都已绑定 2.错误原因 3.解决办法…