Migration Guide : Upgrading from OpenROAD 5.1 : Using OpenROAD 6.2 with Unicode-enabled Databases
 
Share this page          
Using OpenROAD 6.2 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 6.2 with either Unicode-enabled or non-Unicode enabled databases but using Unicode-enabled databases lets you avoid issues such as the following.
In OpenROAD 6.2 the data type of most GUI system class attributes changed from varchar to nvarchar. The coercion between these types happens implicitly in the OpenROAD 6.2 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 6.2 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:
Switching to a Unicode Environment
Create a 6.2 Test Environment
OpenROAD 6.0 Behavior Change
Issuing Table-less Queries Against Enterprise Access
How You Can Determine if a Database is Unicode Enabled in the Programming Guide