最近利用NHibernate映射类型为Clob字段在插入数据时发现当字符的字节数(一个半角字符一个字节,一个全角字符两个字节)在2000-4000之间时报错(ORA-01461:仅可以插入LONG列的LONG值赋值).经过不断查找资料和自己的试验该问题终于得到解决,下边我将自己的心得给大家做一个分享. 准备 系统环境 xp+.net2.0+oracle9i 表结构(由于是测试,表结构随便建了一张) XX 字段名 类型 ID VARCHAR2(70) TEST CLOB 测试 方式1:直
方法一: Connection con = dbl.loadConnection(); strSql = "insert into table1(id,a) values (1,EMPTY_CLOB())"; dbl.executeSql(strSql); String str2 = "select a from " + " table1 where id=1"; ResultSet rs = dbl.openResultSet(str2); i
1.在oracle中 varchar2的最大长度为4000 bytes,即varchar2(4000),最多能储存2000个汉子或4000位的数字字母.当储存值超过时可以使用clob(Character Large Object)或blob(Binary Large Object)类型. 2.使用clob就要有string转换blob的过程:java.sql.Clob c = new javax.sql.rowset.serial.SerialClob(strObj.toCharArray())