Try OpenEdge Now
skip to main content
DataServer for Oracle
Initial Programming Considerations : Database design issues : Support for Unicode : Configuration requirements
 
Configuration requirements
In order to use Unicode in the OpenEdge DataServer for Oracle, you must use OpenEdge 10.1C and Oracle Database 9i or later, and OCI Client Libraries for Oracle 9i or later. Additionally, you must perform the following prerequisite tasks:
*Set appropriate environment variables — Set the national language support variable to NLS_LANG=.AL32UTF8 on the system where the Oracle DataServer and Oracle OCI client libraries reside. When setting this variable, you must use the dot (.) notation. NLS_LANG can also be set to UTF-8 in a Unicode environment. However, this is not a recommended setting as it may not be fully compatible with all the character data formatted in your Unicode database. If you set the code page in your schema image to UTF-8 and NLS_LANG is not set to a compatible Unicode value, the DataServer for Oracle will fail to connect to Oracle using that schema holder.
*Prepare your Unicode Schema Holder — If you create a new OpenEdge application to be Unicode-enabled for migration to an ORACLE DataServer, ensure that you create the database from a Unicode source. A copy of the empty OpenEdge UTF-8 database can be obtained from $DLC/prolang/utf/empty. If you use the Create DataServer Schema ORACLE DataServer utility to create a DataServer schema and you plan to set the schema holder's code page to UTF-8, the schema holder must also be derived from a copy of the empty UTF-8 database located at $DLC/prolang/utf/empty.
Note: The migration process derives a schema holder this way automatically if you set the code page of your migration to UTF-8.
The following command would create an empty OpenEdge database named "empty" that could be used to describe a Unicode-enabled foreign data source:
prodb <OpenEdge utf-8 schema holder> $DLC/prolang/utf/empty
Note: The best way to ensure that the database path is correct for utilities that create a Unicode-enabled database is to set the $DLCDB environment variable to $DLC/prolang/utf. This ensures that databases will be constructed with Unicode enablement. If you do not set $DLCDB, you will need to reference the $DLC/prolang/utf directory explicitly whenever you want to create a Unicode-enabled database.
*Use appropriate startup parameters — To process Unicode data in your client application, set your cpinternal client code page to utf-8. If you are executing file I/O against your Unicode data, set your client's cpstream code page to utf-8. You also might consider several other available client code page settings for Unicode. For more information, see OpenEdge Development: Internationalizing Applications.
*Prepare OpenEdge databases for Unicode — Your OpenEdge database does not need to be Unicode-enabled in order to be migrated to an ORACLE DataServer. The migration process will convert data from any ANSI code page to Unicode as part of the migration if you chose to move data during a migration and have specified a Unicode destination. If you have existing data in an OpenEdge database that you wish to convert to Unicode prior to migration, you can convert your non-Unicode data using one of two conversion utilities:
*Data Administration dump and load utility
*PROUTIL CONVCHAR character conversion utility
For more information on these utilities, see OpenEdge Development: Internationalizing Applications.