Migration Guide > Migration Guide > F. Migrating from OpenROAD 5.1 > Using OpenROAD 12.0 with Unicode-enabled Databases
Was this helpful?
Using OpenROAD 12.0 with Unicode-enabled Databases
Unicode-enabled databases support Unicode data types and provide coercion between Unicode data types and non-Unicode data types. Non-Unicode-enabled databases support neither of these features.
You can create Ingres databases with Unicode support using the createdb -i command. Existing Ingres databases can be modified with the alterdb -i command. For more information, see the Ingres Command Reference Guide.
You may use OpenROAD 12.0 with either Unicode-enabled or non-Unicode enabled databases but using Unicode-enabled databases lets you avoid issues such as the following.
In OpenROAD 12.0 the data type of most GUI system class attributes changed from varchar to nvarchar. The coercion between these types happens implicitly in the OpenROAD 12.0 runtime, for example:
a_varchar_variable = a_button_field.textlabel;
This works just as it did before, whether or not the backend database is Unicode-enabled. However, if the database is not Unicode-enabled, you may receive an error from the backend DBMS for the following statement:
insert into test_table (a_varchar_column) values (a_button_field.textlabel);
The error results because a_button_field.textlabel is now an nvarchar host variable. (This statement works without error in a Unicode-enabled database.) You may work around this by assigning a_button_field.textlabel to a varchar variable and use the varchar variable in the SQL statement instead, so the coercion is done in the OpenROAD 12.0 runtime. For example:
a_varchar_variable = a_button_field.textlabel;
insert into test_table (a_varchar_column) values (a_varchar_variable);
For Ingres and Enterprise Access back ends, there are no special requirements for using Unicode-enabled databases with the exception of Enterprise Access 2.7 for Microsoft SQL Server, where there are some special considerations when using Unicode-enabled databases. For more information, see:
How You Can Determine if a Database is Unicode Enabled in the Programming Guide
Last modified date: 06/25/2024