XMLTYPE and Unicode

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

XMLTYPE and Unicode

Post by jdorlon » Fri 16 Dec 2011 19:34

Hello,

I know that you don't support editing of XMLTYPE when OraCall.OCIUnicode := True.

Unfortunately, our customers and my managers don't stop asking for it no matter what I tell them.

Do you have plans to support it in the future, or is there some reason why you cannot?

Thanks,

John

bork
Devart Team
Posts: 649
Joined: Fri 12 Mar 2010 07:55

Post by bork » Mon 19 Dec 2011 13:49

Hello

We don't support XMLTYPE with OraCall.OCIUnicode := True because of an Oracle Client limitation (or issue). We want to support XMLTYPE with OraCall.OCIUnicode := True, but we cannot find any good solution. We can suggest you to use parameters in all your queries. In this case you can set TOraSession.Options.UseUnicode = True and OraCall.OCIUnicode := False, and you will be able to use XMLTYPE without any limitation. Or you can wait until we find a workaround for this this Oracle Client limitation.

jdorlon
Posts: 202
Joined: Fri 05 Jan 2007 22:07

Post by jdorlon » Mon 19 Dec 2011 14:40

Hello,

Thank you for the reply and explanation. Unfortunately, setting OraCall.OCIUnicode := False is not an option for me because full unicode support is a requirement for our application.

Do you have an Oracle metalink document # that describes the problem so I can show it to my management and customers? They would be happy to encourage Oracle to get it fixed.

Thanks

John Dorlon

bork
Devart Team
Posts: 649
Joined: Fri 12 Mar 2010 07:55

Post by bork » Tue 20 Dec 2011 10:26

Hello

The OraCall.OCIUnicode option should be set to True in two cases:
1. If you use some queries like insert into my_table values (1, 'non-english text') instead of insert into my_table values (:param1, :param2)
2. If you have tables, table columns, stored procedures or other DB objects with names that are not in English
In other cases setting the TOraSession.Options.UseUnicode option to True is enough for full unicode support.

Unfortunately, all OCI functions for using XMLTYPE are not documented, therefore it is a problem to find any similar issues on the metalink. Maybe when OCI functions for using XMLTYPE are released, the issue with OraCall.OCIUnicode=true will be fixed.

jdorlon
Posts: 202
Joined: Fri 05 Jan 2007 22:07

Post by jdorlon » Tue 20 Dec 2011 14:28

Hello,

Thank you for your reply. I didn't know why there were 2 unicode settings before.

We still need to have OCIUnicode set to true. Our users can write and execute their own queries, so it is definitely possible they will write insert statements with non-english literal values.

John

bork
Devart Team
Posts: 649
Joined: Fri 12 Mar 2010 07:55

Post by bork » Thu 22 Dec 2011 10:56

Hello

We understand the significance of XMLTYPE support with OCIUnicode set to True. We will notify you as soon as this issue is resolved.

Post Reply