You can manipulate Unicode Standard
version 3.0 data, in suitably configured databases, using ESQL, in
nodes that access databases by ODBC. The broker does not support DBCS-only
columns within tables that are defined in databases.

The broker does not, therefore, support certain
data types, including the following types:
- GRAPHIC, VARGRAPHIC, LONGVARGRAPHIC, DBCLOB (on DB2®)
- NCHAR, NVARCHAR, NVARCHAR2, NCLOB (on Oracle)
- NCHAR, NVARCHAR, NTEXT, UNICHAR, UNIVARCHAR (on Sybase)
- NCHAR, NVARCHAR (on Informix®)

Support for Unicode is available only for the generally-supported
versions of the following database managers:
- IBM® DB2 v9 for Windows®, Linux®, UNIX®, and z/OS® operating systems.
- Oracle
- Microsoft® SQL server
- Sybase Adaptive Server Enterprise (ASE)
Support for the manipulation of Unicode data is not available
for nodes that access databases that use JDBC; for example, DatabaseRetrieve and DatabaseRoute.
The following
instructions apply to both 32-bit and 64-bit applications.
If
you are using
DB2:
- On Windows, Linux, and UNIX operating systems, your database
must be created with code set utf-8.
- On z/OS, you must set both
the variable MQSI_DB2_CONVERSION in the broker’s environment and the
CURRENTAPPENSCH setting in your ODBC definition, to the value Unicode.
- On all platforms, DB2 returns
the lengths of strings in bytes, rather than characters; this has
implications for the behavior of string length-related ESQL functions.
If you are using Oracle:
- Your database must be created with NLS_CHARACTERSET of AL32UTF8.
- Your ODBC data source definition must include the setting ColumnSizeAsCharacter=1.
On UNIX and Linux platforms, this setting must
be included in the appropriate stanza in the ODBC ini files.
On Windows platforms, this string value
must be added to the ODBC data source key in the registry.
See Enabling ODBC connections to the databases for further information.
- For 32-bit connections, you must set the variable NLS_LANG in
the broker’s environment to the value <yourlanguage>.<yourterritory>.AL32UTF8.
if you are using Microsoft SQL
server:
- You must use NCHAR, NVARCHAR, and NTEXT datatypes for your column
definitions.
- For brokers on UNIX and Linux platforms, your ODBC data
source definition must include the setting ColumnSizeAsCharacter=1;
this setting must be included in the appropriate stanza in the ODBC
ini files.
If you are using Sybase ASE:
- The default character set of your ASE server must be UTF-8.
- Your ODBC data source definition must include the settings ColumnSizeAsCharacter=1 and CharSet=UTF8.
On UNIX and Linux platforms, this setting must
be included in the appropriate stanza in the ODBC ini files.
On Windows platforms,
this string value must be added to the ODBC data source key in the
registry.
See Enabling ODBC connections to the databases for further
information.