Consultor Eletrônico



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.