1.这个异常是指,用户向数据库执行插入数据操作时,某条数据的某个字段值过长,如果是varchar2类型的,当长度超过2000,--4000(最大值)之间的时候,oracle会自动将该字段值转为long型的(-_-||有点坑~),然后插入操作失败. 2.改完数据类型之后还是报这个错,原因是:当从dual中取数据时,会将clob对象的字段转为Long型,所以mybatis里不能用select XXXX from dual union all的方式.而且mybatis里要这样写:jdbcType=CL
ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋值”解决办法 今天遇到的一个问题: 直接修改数据表中的某些字段数据内容时报错: ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋值”解决办法 上网查询发现解决途径有: 法1,数据库字符集应该是UTF-8的,对于UTF-8或欧洲的某些字符集,oracle在存储时,对于一个字符需要2个或3个字节的存储空间,虽然表定义 中为varchar2(4000),但是其实该字段的data_length为其2倍或3倍长.这种情况下
最近利用NHibernate映射类型为Clob字段在插入数据时发现当字符的字节数(一个半角字符一个字节,一个全角字符两个字节)在2000-4000之间时报错(ORA-01461:仅可以插入LONG列的LONG值赋值).经过不断查找资料和自己的试验该问题终于得到解决,下边我将自己的心得给大家做一个分享. 准备 系统环境 xp+.net2.0+oracle9i 表结构(由于是测试,表结构随便建了一张) XX 字段名 类型 ID VARCHAR2(70) TEST CLOB 测试 方式1:直
一.手工测试流程: 1.测试需求(待执行用例) 2.标准化测试流程 1/5 --修改 result_info --用户风控信息表 select sysdate,t.*,t.rowid from finser.td_s_cro_account t where t.cro_id = 14 and user_name = '王亮'and user_phonetel='13986671119' order by t.create_time desc; --修改后提交 commit; 2/5 Delete