Binary vs CLOB XMLTYPE fields

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
jdorlon
Posts: 202
Joined: Fri 05 Jan 2007 22:07

Binary vs CLOB XMLTYPE fields

Post by jdorlon » Mon 18 Mar 2019 18:40

Hello,

I am using ODAC in full unicode mode, so if I select an XMLTYPE column from database, I get an AV. I understand this is due to an OCI limitation.

If I put this query into a TSmartQuery, there is no error:

Code: Select all

select xmlelement("Test", dummy) XMLTest from dual
. But if I do

Code: Select all

create table test as select xmlelement("Test", dummy) XMLTest from dual
, then try

Code: Select all

Select * from test
, I get an error. I believe this is because the former returns XMLTYPE as CLOB and the latter as Binary.

I was examining the FieldDesc for each of these fields (after calling TSmartQuery.Prepare), but could not discover a way to tell the difference between these two fields. Is there a way to tell them apart by either TFieldDesc or TFieldDef?

Thanks,

John Dorlon

MaximG
Devart Team
Posts: 1822
Joined: Mon 06 Jul 2015 11:34

Re: Binary vs CLOB XMLTYPE fields

Post by MaximG » Fri 26 Apr 2019 14:37

In the tests we handled for investigation of the issue, the error occurred in the library included to Oracle client. We will investigate the possibility of modifying the behavior of our components to eliminate the influence of this library.

Post Reply