Problems reading and writing UTF-8 characters when OracleDictionary.CharacterSize is True

I am having major problems reading from and writing to several different Oracle 10g UTF-8 instances using DOA's TOracleDataset with OracleDictionary.CharacterSize set to True in D2009. As long as the strings I'm reading and storing consist of single-byte, ASCII chars only, no problem arises, but when multi-byte chars are involved the strings appear garbled when reading and are truncated when writing.

In order to reproduce the problem, you need an Oracle 10g instance or higher with NLS_CHARACTERSET=AL32UTF8 and NLS_LENGTH_SEMANTICS=CHAR. The local Oracle client has NLS_LANG=AMERICAN_AMERICA.AL32UTF8.

Steps to reproduce (run in PL/SQL Developer or similar):

create table DOATEST
(
TESTFLD VARCHAR2(4) --due to NLS_LENGTH_SEMANTICS=CHAR, these are 4 chars, not bytes!
);

insert into DOATEST (TESTFLD) values ('
 
Last edited:
Has anyone at Allround Automations even bothered to reproduce this problem at all? This is a serious issue, if you aren't going to fix this, at least say so, so we can all move on and switch to DevArt's ODAC.
 
Unfortunately, recently I realized that we have to migrate our all projects to a library that provides a better support. We were waiting a long time to fix some bugs with no response, but our customers are becoming less tolerant of this waiting.

It seems that the company does not have the courage to say that this product is no longer supported.
 
Back
Top