Hello
I have a TOracleDataset bound to a TOracleSession, connected to an Oracle 11g R2 database with:
NLS_LANGUAGE=AMERICAN
NLS_CHARACTERSET=WE8MSWIN1252
The NLS_LANG environment variable on the client is set to AMERICAN_AMERICA.WE8MSWIN1252.
The OracleDataset has declared String fields from columns on the database table's with some fields of VARCHAR2(x).
Up to this point everything is OK, I can open the table in design-time and run-time
TOracleSession properties:
TOracleSession.BytesPerCharacter = bcAutoDetect
TOracleSession.Preferences.ForceWideStringFields = True
Problem:
I switch the OracleSession's connection to another Oracle database same version 11g R2 (and install), but with:
NLS_LANGUAGE=AMERICAN
NLS_CHARACTERSET=AL32UTF8
I set the NLS_LANG environment variable on the client to AMERICAN_AMERICA.AL32UTF8.
When I try to open the OracleDataset, in both run-time and design-time, I get the error:
OracleDataset:type mismatch for Field 'FIELD', expecting: String, actual: WideString.
When I switch again to an WE8MSWIN1252 DB (and set the same for the env. variable NLS_LANG) everything is again OK.
Please advise me on how to have my program compliant with both Oracle Western Languages (WE8MSWIN1252) and Unicode (AL32UTF8)
at your disposal for further info
thank and regards
Altin
I have a TOracleDataset bound to a TOracleSession, connected to an Oracle 11g R2 database with:
NLS_LANGUAGE=AMERICAN
NLS_CHARACTERSET=WE8MSWIN1252
The NLS_LANG environment variable on the client is set to AMERICAN_AMERICA.WE8MSWIN1252.
The OracleDataset has declared String fields from columns on the database table's with some fields of VARCHAR2(x).
Up to this point everything is OK, I can open the table in design-time and run-time
TOracleSession properties:
TOracleSession.BytesPerCharacter = bcAutoDetect
TOracleSession.Preferences.ForceWideStringFields = True
Problem:
I switch the OracleSession's connection to another Oracle database same version 11g R2 (and install), but with:
NLS_LANGUAGE=AMERICAN
NLS_CHARACTERSET=AL32UTF8
I set the NLS_LANG environment variable on the client to AMERICAN_AMERICA.AL32UTF8.
When I try to open the OracleDataset, in both run-time and design-time, I get the error:
OracleDataset:type mismatch for Field 'FIELD', expecting: String, actual: WideString.
When I switch again to an WE8MSWIN1252 DB (and set the same for the env. variable NLS_LANG) everything is again OK.
Please advise me on how to have my program compliant with both Oracle Western Languages (WE8MSWIN1252) and Unicode (AL32UTF8)
at your disposal for further info
thank and regards
Altin