ORA-00932:不一致的数据类型:预期 - 获得CLOB,无法保存数据

时间:2013-06-14 02:08:28

标签: oracle powerbuilder

任何人都可以帮助我吗?

我创建了一个包含2列的表,其中一个是CLOB数据类型。

CREATE TABLE "OFFTEST"."COMMENT_TEST" 
(   "CMNT" CLOB, 
    "ID_COM" NUMBER NOT NULL ENABLE)

这是我在powerbuilder.net中的语法,用于将插入数据保存到数据库中

dw_comments.Modify("DataWindow.Table.Insert='INSERT INTO COMMENT_TEST(CMNT, ID_COM) VALUES (:1, :2 )'")

但是为什么会出现这个错误,我jusr会把几个数据放在上面????

感谢您宝贵的时间: enter image description here

1 个答案:

答案 0 :(得分:0)

顶级问题是您尝试将DataWindow属性用于错误目的。 “DataWindow.Table.Insert”本身不是属性,但“DataWindow.Table.Insert。*”属性用于描述DataWindow的存储过程插入方法。 INSERT SQL命令语法由DataWindow自动生成(基于DataWindow中的各种更新属性),并且不会像这样明确声明。

但是,您有一个更基本的问题,因为DataWindow不是像这样直接处理对大型二进制数据类型的更新。如果您的列保持在32K以下,那么人们已经开始使用生成的INSERT / UPDATE语句更新大型列,但是一旦超过32K,就会遇到问题。有些OLE控件可能会进行更新(例如富文本编辑样式),但它们是在与DataWindow其余部分分开的事务中完成的。还有像INSERT / UPDATEBLOB这样的PowerScript命令可能成为您解决方案的一部分。这取决于你正在做什么,而且到目前为止你所说的还不清楚。

祝你好运,

特里。