Kbase P73843: Progress can not find the data using where clause if character set inserted to oracle is greater the
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  15/09/2008 |
|
Status: Verified
SYMPTOM(s):
Progress can not find the data using where clause if character set inserted to oracle is greater then chr(127).
chr(128) gets converted to non-displayable character
Progress Displays the chr(128) as EURO Currency sign
FACT(s) (Environment):
Data is inserted through both Progress DataServer or using SQL*PLUS
Oracle code page is set to AMERICAN_AMERICA.WE8ISO8859P1 by default.
Created schema holder by pulling the table definition from oracle
DataServer schema holder code page is changed from ibm850 to iso8859-1.
The code page is changed using the Oracle DataServer utilities using "Changed DataServer Schema Code Page..."
UNIX
Progress 8.x
Progress 9.x
OpenEdge 10.x
Oracle DataServer
Oracle 9i
CAUSE:
NLS_LANG environment variable for oracle client is not set to AMERICAN_AMERICA.WE8ISO8859P1.
FIX:
Set the NLS_LANG environment variable to AMERICAN_AMERICA.WE8ISO8859P1 in the UNIX and export as
NLS_LANG=REGION_TERRITORY.Oracle_code_page
Example:
NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
export NLS_LANG
The DataServer Schema holder code page needs to be set to iso8859 Latin 1 (iso8859-1). ISO8859-1 supports 8-bit character set. If you create an schema holder by pulling from oracle you need to change it to iso8859-1. If you performed protoora, it defaults to iso8859-1 code page.