我在CLOB列中插入一个大字符串。该字符串(在本例中)为3190个字符,但可能要大得多。
字符串由xml数据组成--有时数据会提交,有时我会收到错误。错误发生的时间约为50%。
即使包含超过5000个字符的字符串有时也会提交,没有问题。
我不知道下一步该去哪里,因为我的印象是CLOB是这个数据的最佳数据类型。
我试过LONG LONG RAW
然而,有人建议使用XMLTYPE,但在我的甲骨文版本中不存在(11g-11.2.0.2.0)
我的插入语句
INSERT INTO MYTABLE(InterfaceId, SourceSystem, Description, Type, Status, StatusNotes, MessageData, CreatedDate, ChangedDate, Id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)MessageData是发生错误的CLOB列,我尝试过在没有填充这些数据的情况下执行,并且它可以工作。
误差
ORA-01461: can bind a LONG value only for insert into a LONG column发布于 2014-07-29 14:28:08
ALTER TABLE MYTABLE
ADD COLUMN XML_COL XMLTYPE;然后
SQL> INSERT INTO MYTABLE(..., XML_COL) VALUES (..., XMLTYPE('<root>example</root>'));关键是使用XMLTYPE列,然后使用XMLTYPE()函数将字符串转换为XMLTYPE。
https://stackoverflow.com/questions/25017364
复制相似问题