Oracle Connection and nls_lang

I have a legacy database with NLS_LANG set for IW8ISO8859P8. This I cannot change.

I have another application that does not work with unicode that works with the same data that my application is working on. In some fields, and in some cases, the user inserts as part of a string, character 161, which is the NIS currency, is compressed. When I try to read this data from .Net using oledb everything is fine, but when I try to do it with the oracle client I get garbage data instead. also when I paste .Net, NIS simble it gets saved as garbage.

I know I can manipulate the data after I got it, but I am looking for some oracle client configuration in .Net to get this to work.

I've been working on this for a couple of weeks now, any help would be appreciated. Tnx Noam

0


a source to share


3 answers


At the end of the day, I decided to use an additional nvarchar column. and triggers for translation between them.

I have written functions in plsql that do byte conversions to and from Unicode using custom encoding implemented by many if statements.

And for each column with problematic data, I added a second column with nvarchar storage and triggers that use this function to translate the problematic data.



This way legacy applications use and update varchar columns and triggers translate it to Unicode columns. and .Net code uses Unicode columns, and again triggers translate information into problematic encoding used in legacy application.

If you need more information, please contact me for more information

0


a source


Are you looking at the Oracle NLS_LANG FAQ ?



0


a source


Have you checked the nls_lang setting on the client? Any changes to the nls setting can be overwritten by the settings on the client (registry and environment). this may be the cause of your problem. Make sure you don't have any other nls settings on the client, and that features not owned by you explicitly change it. you can run the trigger after login to change the session format. this will ensure that the server settings affect all clients. Also, make sure nls_territory is set. it should be installed as part of nls_lang, but just in case you meant nls_language. I believe this symbol is influenced by this symbol.

0


a source







All Articles