In order to use Unicode in the OpenEdge DataServer for MS SQL Server, you must use Microsoft SQL Server 2005 or later. All MS SQL server drivers, including the DataDirect Connect ODBC driver for MS SQL Server, Version 5.1 or later, support Unicode. Additionally, you must perform the following prerequisite tasks:
Prepare your Unicode Schema Holder — If you create a new OpenEdge application to be Unicode-enabled for migration to an MS SQL 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 MS SQL 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 creates an empty OpenEdge database named "empty" that can be used to describe a Unicode-enabled foreign data source:
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 may 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 MS SQL 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.