- Oracle 19c local installation (both SQL*Net and database)
- Windows 10 64 Bit
- Delphi 10.4.2
- ODAC11.4.4
Please create the sample table
Code: Select all
CREATE TABLE EMPLOYEES
(
ID NUMBER,
DATA XMLTYPE
)
Code: Select all
INSERT INTO EMPLOYEES
VALUES (1, xmltype ('<Employees>
<Employee emplid="1111" type="admin">
<firstname>John</firstname>
<lastname>Watson</lastname>
<age>30</age>
<email>[email protected]</email>
</Employee>
<Employee emplid="2222" type="admin">
<firstname>Sherlock</firstname>
<lastname>Homes</lastname>
<age>32</age>
<email>[email protected]</email>
</Employee>
<Employee emplid="3333" type="user">
<firstname>Jim</firstname>
<lastname>Moriarty</lastname>
<age>52</age>
<email>[email protected]</email>
</Employee>
<Employee emplid="4444" type="user">
<firstname>Mycroft</firstname>
<lastname>Holmes</lastname>
<age>41</age>
<email>[email protected]</email>
</Employee>
</Employees>'));
- Create a new application and change to 64 Bit
- Place a TOraSession component on the form. Use a SQL*Net connection
- Enable Unicode:
Session.Options.UseUnicode := True;
FSession.Options.UnicodeEnvironment := True;
- Place a TSmartQuery on the form, set SQL to "Select * from employees"
- Connect via TOraDatasource to a data grid
- Place a button on the form to open the query
You will get an access violation error in TOraXML.Read line 4477: Check(OCI8.OCIPStreamRead(...));
The exception does only occur with SQL*Net and when Unicode is enabled.
Could you please provide a fix ASAP?