Doesn't NHibernate (3.0.0.Beta1) support deleting (or updating, which
results in delete and insert) composite-elements, that have Clob
properties, in sets with an Oracle DB?
(The same should be true for simply using Clobs in a where clause of a
query, but I didn't try this.)
I'm using the Oracle10g dialect with the ODAC 11.2.0.1.2 driver on a
11.2.0.1.0 DB.
The generated SQL is the following:
DELETE
FROM
WORKFLOWBEDINGUNGEN
WHERE
WOF_ID = :p0
AND BEDINGUNGSFELD = :p1
AND WERT1 = :p2
AND WERT2 = :p3
AND BEDINGUNG = :p4
AND WOF_CODE = :p5;
:p0 = 241 [Type: Int64 (0)], :p1 = 'Bedingung' [Type: String (0)], :p2
= 'Wert1' [Type: String (0)], :p3 = 'Wert2' [Type: String (0)], :p4 =
'EGAL' [Type: String (0)], :p5 = 1 [Type: Int32 (0)]
The columns WERT1 and WERT2 are Clobs.
The statement fails with the exception
"Oracle.DataAccess.Client.OracleException ORA-00932: inconsistent
datatypes: expected - got CLOB".
I seems like you can't compare Clobs in Oracle using the "=" operator,
this doesn't work in SqlPlus too. At least in plain SQL, Google
searching says it should work in PL/SQL.
Is this a limitation of NHibernate?
If yes, is it possible to extend NHibernate somewhere to fix this? For
example by using "dbms_lob.compare()" instead of "=" for comparison of
Clobs?
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/nhusers?hl=en.