適切に構成されたデータベース中で、ESQL を使用して、ODBC によってデータベースにアクセスするノードで、Unicode Standard バージョン 3.0 データを取り扱うことができます。 ブローカーは、データベースに定義された表内の DBCS 専用の列をサポートしません。
そのため、ブローカーは以下のタイプを含む特定のデータ・タイプをサポートしません。
- NCHAR、NVARCHAR、NVARCHAR2、NCLOB (Oracle 上の)
- NCHAR、NVARCHAR、NTEXT、UNICHAR、UNIVARCHAR (Sybase 上の)
- NCHAR、NVARCHAR (Informix® 上の)
ブローカーを DB2® で使用する場合、GRAPHIC、VARGRAPHIC、LONGVARGRAPHIC、および DBCLOB データ・タイプのサポートが提供されますが、以下の制限があります。
- PASSTHRU を使用してストアード・プロシージャーを呼び出すと、z/OS® の Unicode サポートに関係する問題が発生するため、この方法でストアード・プロシージャーを呼び出すことはできません。 詳しくは、PASSTHRU ステートメントを参照してください。
- DB2 ストリング関数を Unicode データに対して使用すると、予期せぬ結果が返されることがあります。 詳しくは、DB2 の Unicode ストリング関数を参照してください。
Unicode のサポートは、以下のデータベース・マネージャーの、一般にサポートされているバージョンでのみ使用可能です。
- IBM® DB2 for Windows、Linux、UNIX、および z/OS オペレーティング・システム。
- Oracle
- Microsoft SQL Server
- Sybase Adaptive Server Enterprise (ASE)
サポートされるデータベースのバージョンについて詳しくは、
WebSphere® Message
Broker 要件を参照してください。
JDBC を使用してデータベースにアクセスするノードでは、Unicode データ操作のサポートは使用不可です (例えば、DatabaseRetrieve および DatabaseRoute)。
以下の説明は、32 ビットおよび 64 ビット・アプリケーションの両方に適用されます。
Oracle を使用している場合:
- AL32UTF8 の NLS_CHARACTERSET を指定して、データベースが作成される必要があります。
- ODBC データ・ソース定義には、ColumnSizeAsCharacter=1 という設定値が含まれている必要があります。
UNIX および Linux プラットフォーム上では、この設定値が ODBC ini ファイルの適切なスタンザに含まれる必要があります。
Windows プラットフォームの場合、このストリング値がレジストリー中の ODBC データ・ソース・キーに追加される必要があります。
詳細は、データベースへの ODBC 接続の使用可能化を参照してください。
- 32 ビット接続の場合は、ブローカーの環境にある NLS_LANG 変数を <yourlanguage>_<yourterritory>.AL32UTF8 という値に設定する必要があります。
Microsoft SQL サーバーを使用している場合:
- 列定義として NCHAR、NVARCHAR、および NTEXT データ・タイプを使用する必要があります。
- UNIX および Linux プラットフォーム上のブローカーの場合、ODBC データ・ソース定義には ColumnSizeAsCharacter=1 という設定が含まれなければなりません。この設定値は、ODBC .ini ファイルの適切なスタンザに含められる必要があります。
Sybase ASE を使用している場合:
- ASE サーバーのデフォルトの文字セットは、UTF-8 でなければなりません。
- ODBC データ・ソース定義には、ColumnSizeAsCharacter=1 および CharSet=UTF8 という設定が含まれている必要があります。
UNIX および Linux プラットフォーム上では、この設定値が ODBC .ini ファイルの適切なスタンザに含まれる必要があります。
Windows プラットフォームの場合、このストリング値がレジストリー中の ODBC データ・ソース・キーに追加される必要があります。
詳細は、データベースへの ODBC 接続の使用可能化を参照してください。