Support for Unicode and DBCS data in databases
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 in tables that are defined in databases.
The broker does not, therefore, support certain
data types, including the following types:
- NCHAR, NVARCHAR, NVARCHAR2, NCLOB (on Oracle)
- NCHAR, NVARCHAR, NTEXT, UNICHAR, UNIVARCHAR (on Sybase)
- NCHAR, NVARCHAR (on Informix®)
GRAPHIC,
VARGRAPHIC, LONGVARGRAPHIC, and DBCLOB data type support on DB2® is provided for the broker with
the following limitations:
- Due to issues related to the z/OS® Unicode
support when calling stored procedures by using PASSTHRU, you must
not use this method of calling stored procedures. For more information,
see PASSTHRU statement.
- Using the DB2 string functions
with Unicode data can return unexpected results. For more information,
see Unicode string functions in DB2.
Support for Unicode is available only for the generally-supported
versions of the following database managers:
- IBM® DB2 for Windows, Linux, UNIX, and z/OS operating systems.
- Oracle
- Microsoft SQL server
- Sybase Adaptive Server Enterprise (ASE)
For information about the versions of databases supported, see
IBM Integration Bus Requirements.
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 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 environment to the value <yourlanguage>_<yourterritory>.AL32UTF8.
if you are using Microsoft SQL
server:
- You must use NCHAR, NVARCHAR, and NTEXT data types 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.