cmd.CommandText="insert into xx(id,test) values('"+ id +"',:p1)"; OracleParameter p1=newOracleParameter("p1", OracleType.Clob); p1.Value= data;//data是一个变量,存储你要插入的字符串cmd.Parameters.Add(p1); cmd.ExecuteNonQuery(); 情况分析: 采用这种方式能够正常插入。所以推荐用这种方式。
具体来说,这个错误发生在尝试使用非 LONG 类型的数据(如字符串、CLOB等)来插入到一个被定义为 LONG 类型的列中。LONG 类型是 Oracle 中用于存储大量文本(最多可达 2GB)的一种数据类型,但在现代数据库设计中,由于其限制和性能问题,通常建议使用 CLOB(Character Large Object)类型来替代。 2. 指出哪些操作会触发...
1、字段过长,将varchar修改成clob 2、更换驱动 均没有解决。后来慢慢摸索找出了解决方法。 虽然网上方法没有解决问题,但是也给了我一些启发:有一个字段值插入的时候,长度超过了4000,为4092个英文字符。 要插入的字段为:process_code clob; 首先我们在navicat上更新了一条无用数据,发现更新不成功,navicat报错。 然...
11. 具体好像是因为用 from dual 的方式去查询如果是clob字段会自动转为long类型造成的。
方法/步骤 1 这个错误有三种可能:1、插入到字符串长度大于4000字节。解决方法:修改字段为clob,具体步骤如下 2 2、插入到表中的记录其中一个是long类型、还有其他实际长度大于2000个字节(如果是UTF-8,则是1333个字节);或者是插入的记录中有两个或两个以上长度大于2000字节的字符串 。这时,我们可以修改数据库...
解决办法是:将此字段的类型改为clob或者blob类型; 但是将oracle数据库表中的varchar2类型直接改成clob类型会失败,解决办法如下:new 一个Sql view,执行下列代码: alter table table_name modify col_name long; alter table table_name modify col_name clob; ...
这个异常是指,用户向数据库执行插入数据操作时,某条数据的某个字段值过长,如果是varchar2类型的,当长度超过2000,--4000(最大值)之间的时候,oracle会自动将该字段值转为long型的,然后,插入操作失败。解决办法是:将此字段的类型改为clob或者blob类型;
當時的解决办法:建议减小字段长度或拆分。实在需要的,可以转而采用CLOB字段类型。 現在的環境: 開發框架:Spring 2.0.6 + Hibernate 3.2 數據庫:Oracle 9i 数据库字段类型:CLOB 输入字節:1000 ~ 2000 現在的問題: 現 在的項目中我采用了CLOB字段類型,但又遇到了這個錯誤。当我对Oracle数据库中的CLOB字段进入insert...
其中CLOB,NCLOB,BLOB都是内部的LOB(Large Object)类型,最长4G,没有LONG只能有一列的限制。要保存图片、文本文件、Word文件各自最好采用那種数据类型呢?BLOB最好,LONG RAW也不错,但Long是oracle将要废弃的类型,因此建议用BLOB。
當時的解决办法:建议减小字段长度或拆分。实在需要的,可以转而采用CLOB字段类型。 現在的環境: 開發框架:Spring 2.0.6 + Hibernate 3.2 數據庫:Oracle 9i 数据库字段类型:CLOB 输入字節:1000 ~ 2000 現在的問題: 現在的項目中我采用了CLOB字段類型,但又遇到了這個錯誤。当我对Oracle数据库中的CLOB字段进入insert或...