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 within tables that are defined in databases.

Start of change

The broker does not, therefore, support certain data types, including the following types:

End of change
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.

Related concepts
Message flows overview
User database connections
Related tasks
Accessing databases from message flows
Configuring globally coordinated message flows
Related reference
Supported databases
Built-in nodes
Notices | Trademarks | Downloads | Library | Support | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Last updated : 2009-01-07 15:19:52

ac00407_