Consultor Eletrônico



Kbase P123943: Unicode fields display only the first character using DataServer for MS SQL Server schema holder
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   4/27/2010
Status: Verified

SYMPTOM(s):

Unicode fields display only the first character using DataServer for MS SQL Server schema holder

Simple FOR EACH query shows only first character of the record when running against MS SQL Server DataServer

Reading data from MS SQL Server database shows only first character for character fields

Only the first letter of the Unicode field is displayed

Cannot retrieve Unicode fields properly using DataServer for MS SQL Server schema holder

Dumping the .d using data administration tool also shows single a single characters on the file

Exporting the records from the MS SQL Server shows all the records

FACT(s) (Environment):

Executing SQL query on MS SQL Server returns all records correctly
Schema holder has been created using a code page other than UTF-8, i.e. ISO8859-1
Fields are successfully imported into the schema holder
All fields on the MS SQL Server database are Unicode data types (nvarchar, nchar)
OpenEdge 10.1C
OpenEdge 10.2x
MS SQL DataServer
MS SQL Server 2005
MS SQL Server 2008
Windows

CAUSE:

The GUI client and the schema holder and schema image (Schema holder database) are set to a code page other than UTF-8. Schema holder database needs to have codepage UTF-8 in order to display Unicode characters correctly

FIX:

1) Create an empty database using the empty UTF-8 database in DLC\prolang\utf. For example:

prodb shsql %DLC%\prolang\utf\empty

2) Connect to this database with Data Administration

3) Start the Create DataServer Schema utility (DataServer > MS SQL Server Utilities > Create DataServer Schema)

4) Set the Code Page field to UTF-8

5) Complete the rest of the creation process as normal
6) Start the session with "-cpinternal utf-8 -cpstream utf-8" parameters