I have a critical issue with Oracle11gXE and Oracle 11gR2 Unicode Databases. Apperently some Datasets write into wrong datafields when inserting. This happens when a returning clause with rowid is used. The problem exists with only some of the datasets I use that have a returning clause.
I did...
Additional info: I noticed this happens when using special characters like the german umlauts. The characterset of the db is UTF-8. The data field is defined as VARCHAR2(50 CHAR). The TWideStringField.Size property is set to 50. OracleSession.ForceWideStringFields is true...
Thanks for your response. I have an TDBEdit attached to the Datasource of the OracleDataSet. When it posts data, the string is cut to half of the length. It seems that the size property of the TWideString field represents the byte size rather than the character size. This happens with unicode...
What is the preferred way for an app to provide singlebyte and unicode support in DelphiXE? Currently I am trying to use the ForceWideStringFields property in the OracleDataSet. How to I have to set up the Size property of the TWideStringField? I have a data field defined as VARCHAR2(50 CHAR)...
Well, after searching Bugs on Metalinks ... My bug is comparable to an Bug that was reported concerning Date-fields on 11.1.
The solution is to first add the field with only defining the default-value and afterwards modify this field to set it to not NULL.
alter table testtable add testfield...
So, made some more test:
alter table vertrag_akten add (TestRow1 number(1) default 0 not null);
alter table vertrag_akten add (TestRow3 number(1) default 1 not null);
alter table vertrag_akten add (TestRow2 number(1) default 0);
alter table vertrag_akten add (TestRow4 number(1) default 1)...
Well, creating a small test-project with Ora-Session and Ora-Dataset, adding the field of interest to us, it is set to TFloatField. The ObjectInspector shows a Pricision of 15 and OracleDataSet1KNDREGEL.DataSize returns 8. What does this value indicates? What scale the OC returns I don't know...
This problem somehow seems to be related to http://www.allroundautomations.com/ubb/ultimatebb.php?ubb=get_topic;f=1;t=002569
After adding a row via
alter table T add (C number(1) default 0 not null);
and then trying to get this as integer, I'll always get a float back. This problem does...
No, TOracleSession.CurrentCharSetID changes if I modified the environment var NLS_LANG - but as sad befor, only to one of the 2 values 178 or 873. And this var doesn't have anythink to do with the DB server.