TField AsWideString and CLOBS

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
MarkF
Posts: 211
Joined: Thu 02 Mar 2006 14:55

TField AsWideString and CLOBS

Post by MarkF » Wed 14 Mar 2007 15:07

Hi Folks,

I've already found the answer on how to read Unicode data using something like:

if Query.Fields[c].DataType ftOraClob then
ws := Query.Fields[c].AsWideString
else
ws := Query.GetLob(Query.Fields[c].FieldName).AsWideString;

However I'm wondering if there is a reason that Query.Fields[c].AsWideString can't be made to work? Also, is there any plan to allow a WideString SQL query string in a future release?

Thanks as aways!

-Mark Ford
Benthic Software

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Thu 15 Mar 2007 14:03

Currently ODAC creates TMemoField objects for CLOB fields. TMemoField class doesn't support Unicode. We'll consider possibility to use TWideMemoField objects for CLOB fields in Delphi 2006.
We will also investigate possibility to support Unicode in the SQL property of TOraDataSet, but that is hardly to happen in the nearest future.

MarkF
Posts: 211
Joined: Thu 02 Mar 2006 14:55

Post by MarkF » Mon 19 Mar 2007 13:31

Thanks for the response. Any work on Unicode support is greatly appreciated. ODAC's current Unicode support is the best out there in my experience. If it is difficult to move the SQL property to Unicode, perhaps it would be better to just add a new "WideSQL" property that would be used if it was not empty. I'm sure it's more involved than that, but it would be great to be able to allow a query with unicode characters.

Best regards,

-Mark Ford

MarkF
Posts: 211
Joined: Thu 02 Mar 2006 14:55

Post by MarkF » Thu 09 Aug 2007 13:22

Hi Folks!

> We'll consider possibility to use TWideMemoField
> objects for CLOB fields in Delphi 2006.

I'm sure you've been busy :) but have you looked into doing this at all? It would be convenient if .AsWideString could work for CLOBs without the special code:

Query.GetLob(Query.Fields[c].FieldName).AsWideString;

It's not a big deal really, but it would be nice to see as I've been bitten by Field.AsWideString a few times now with CLOBs (I forget to handle the special case!)

Thanks, as always for the great support.

-Mark

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Fri 10 Aug 2007 10:55

We are planning to add an option that will enable TWideMemoFields for CLOBs in one of the next ODAC versions.

Post Reply