I have this table:
CREATE TABLE IKON_SYSTEM.DECISION_TREES
(DECISION_TREE_ID NUMBER NOT NULL,
PROJECT_ID NUMBER NOT NULL,
ACTIVE NUMBER(1,0) DEFAULT 0 NOT NULL,
TREE SYS.XMLTYPE)
when I acces it via a TOracleDataset it uses a "TMemoField" for the XMLTYPE field (which is stored as a CLOB), and it works. Also I use Midas/Datasnap, and when I update the field it generates (ResolveToDataset is false):
update "IKON_SYSTEM"."DECISION_TREES" set
"TREE" = EMPTY_CLOB()
where
"DECISION_TREE_ID" = :V0
RETURNING
TREE
INTO
:V1
This returns the error:
ORA-00932: inconsistent datatypes: expected NUMBER - got CLOB.
Of course Midas sees the standard "ftOraClob" type and generates the wrong SQL, and this is not a DOA problem. It works if I set "ResolveToDataset" to True.
My question is: could DOA do something different (i.e. a TXMLField type), or because Midas does not understand XML datatypes there's no way but to update via the dataset, or using a custom apply via TOracleQuery?