この付録では、Oracle Database Gateway for DRDAのグローバリゼーション・サポート情報について説明します。ここでの内容は、『Oracle Databaseアドバンスト・アプリケーション開発者ガイド』に記載されている一般的なグローバリゼーション・サポート情報の補足になります。
グローバリゼーション・サポートにより、ユーザーは、自国言語と自国でのデータ表示規則を使用してOracleアプリケーションとやりとりできます。グローバリゼーション・サポート・アーキテクチャは、データ駆動型であり、ソース・コードを変更することなく固有の言語および文字コード体系のサポートを追加できます。
ゲートウェイ、DRDAサーバー、Oracle Databaseおよびクライアントには、グローバリゼーション・サポート処理に影響を与える多くの異なる設定があります。変換が正しく実行されるためには、これらのコンポーネントの文字設定に互換性がある必要があります。
この付録には、次の項が含まれます。
図C-1は、システム内のグローバリゼーション・サポートの相互作用を示しており、システムの各コンポーネントと、分散環境のグローバリゼーション・サポート処理に影響する各コンポーネントのパラメータが含まれます。表C-1で、図C-1に記載されているアーキテクチャについて説明します。
図C-1 システム・コンポーネントにおけるグローバリゼーション・サポートの相互作用のアーキテクチャ
表C-1では、システムの各環境(クライアント環境、Oracle Database、ゲートウェイおよびDRDAサーバー)内でのグローバリゼーション・サポート処理に必要なパラメータと変数について詳細に説明します。
表C-1 システムの各環境でのグローバリゼーション・サポート処理に必要なパラメータ
環境 | パラメータまたは変数 | 説明 |
---|---|---|
クライアント |
これは環境変数です。 |
|
Oracle Database |
このオプションは、データベースの作成時に設定されます。 |
|
Oracle Database Gateway for DRDA |
これは環境変数です。 |
|
Oracle Database Gateway for DRDA |
これは環境変数です。 |
|
Oracle Database Gateway for DRDA |
|
初期化パラメータ |
Oracle Database Gateway for DRDA |
|
これは初期化パラメータです。 |
Oracle Database Gateway for DRDA |
|
これは初期化パラメータです。 |
Oracle Database Gateway for DRDA |
|
これは初期化パラメータです。 |
DRDAサーバー |
|
|
Oracle Databaseサーバーとクライアント間のグローバリゼーション・サポート処理は、複数のグローバリゼーション・サポート・パラメータによって制御されます。言語に依存する動作のデフォルトをサーバーに対して設定できる他、それらのデフォルトを上書きするクライアントに対しても言語に依存する動作を設定できます。グローバリゼーション・サポート・パラメータの詳細は、『Oracle Database管理者ガイド』の「グローバリゼーション・サポート」を参照してください。これらのパラメータは、ゲートウェイ処理に直接影響することはありません。ただし、(Oracle DatabaseのNLS_LANG
環境変数により指定される)クライアントのキャラクタ・セットが、ゲートウェイとDRDAサーバーで指定されているキャラクタ・セットと互換性があることを確認する必要があります。
Oracle Databaseを作成する場合、データの格納に使用するキャラクタ・セットは、CREATE DATABASE
文のCHARACTER SET
句で指定します。データベースの作成後、データベースのキャラクタ・セットは、データベースを再作成しないかぎり変更できません。
通常、CHARACTER SET
のデフォルトは、26のラテン語アルファベット文字のみをサポートするUS7ASCII
です。ゲートウェイとDRDAサーバーで8ビットのキャラクタ・セットを指定している場合、互換性のある8ビットのキャラクタ・セットをデータベースで定義する必要があります。既存のデータベースのキャラクタ・セットを確認するには、次のコマンドを実行します。
SELECT USERENV('LANGUAGE') FROM DUAL;
詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』の「OCIでのキャラクタ・セットの指定」を参照してください。
ただし、ゲートウェイのキャラクタ・セットとOracle Databaseキャラクタ・セットは、必ずしも同じにする必要はありません。Oracle Netの機能により、Oracle Databaseキャラクタ・セットとゲートウェイのキャラクタ・セット間で暗黙的な変換が実行されます。
ゲートウェイによるDRDAサーバーへのログオン時に、ゲートウェイとサーバー間で初期言語情報が交換されます。初めに、ゲートウェイは、通信で使用するCCSID
をDRDAサーバーに送信します。次の例では、Oracleキャラクタ・セットのWE8ISO8859P1は、CCSID 819
(ASCIIコードページ)にマップされています。このCCSID
は、DRDAサーバーに送信されます。DRDAサーバーは、通信で使用するCCSID
で応答します。これは、DB2データベースの生成時に指定されたCCSID
です。次の例では、これはCCSID 500
(EBCDICコードページ)です。図C-2「ゲートウェイ言語とDRDAサーバーの相互作用」は、このプロセスを示しています。
DB2インスタンスは、SYSIBM.SYSSTRINGS
表を使用して不明なCCSID
をマップします(この表には、様々なDB2バージョンの異なる名前が含まれます)。DB2ユーティリティを使用して、この表に別のキャラクタ・セット・マッピングを追加することが可能です。詳細は、DB2のインストレーション・ガイドを参照してください。
ゲートウェイのinitsid.oraのHS_LANGUAGE
パラメータの設定により、通信用にゲートウェイで使用されるCCSID
が決定されます。同様に、HS_NLS_NCHAR
パラメータの設定により、GRAPHIC
データの交換用にゲートウェイで使用されるCCSIDが決定されます。CCSID
にマップされたASCIIベースのサポートされるOracleキャラクタ・セットのリストは、「ゲートウェイのコードページ・マップ機能」を参照してください。
ただし、ゲートウェイのキャラクタ・セットとOracle Databaseキャラクタ・セットは、同じにする必要はありません。DRDAサーバーでは有効な変換が行われないため、通常、ゲートウェイのキャラクタ・セットとOracle Databaseキャラクタ・セットを同じに設定することは現実的ではありません。かわりに、DRDAサーバーで使用されるキャラクタ・セットと最も完全に共通する部分を持つキャラクタ・セットを選択します。Oracle Netの機能により、ゲートウェイのキャラクタ・セットとOracle Databaseキャラクタ・セット間で任意の変換が実行されます。
ゲートウェイ初期化ファイル(initsid.ora)には、グローバリゼーション・サポートに影響を与える次の4つのパラメータがあります。
HS_LANGUAGE
HS_NLS_NCHAR
HS_NLS_DATE_FORMAT
HS_NLS_DATE_LANGUAGE
HS_LANGUAGE
HS_LANGUAGE
により、ゲートウェイとDRDAサーバー間の通信に使用されるキャラクタ・セットが定義されます。このパラメータにより、ターゲット・システムからのメッセージに使用される言語、月日の名前、AD、BC、AM、PMの記号、デフォルトの言語ソート・メカニズムなどの規則が指定されます。
HS_LANGUAGE
パラメータの構文は次のとおりです。
HS_LANGUAGE=language[_territory.character_set]
変数の意味は次のとおりです。
language
には任意の有効な言語を指定できます。
territory
はオプションで、デフォルトはAMERICA
です。
character_set
はオプションで、デフォルトはUS7ASCII
です。これは、ASCIIベースのキャラクタ・セット名である必要があり、ゲートウェイのコードページ・マップにリストされたキャラクタ・セットと一致する必要があります。付属のキャラクタ・セット・マッピングのリストは、「ゲートウェイのコードページ・マップ機能」を参照してください。
init
sid
.ora
でHS_LANGUAGE
パラメータを省略すると、デフォルトでAMERICAN_AMERICA.US7ASCII
に設定されます。EBCDICキャラクタ・セットはサポートされません。language
およびterritory
(AMERICAN_AMERICA
など)の値は有効である必要がありますが、これらの値は変換には影響しません。
HS_NLS_NCHAR
により、ゲートウェイがGRAPHIC
データを交換するために使用するキャラクタ・セットが指定されます。互換性を確保するため、このパラメータは、HS_LANGUAGE
パラメータで指定したものと同じキャラクタ・セット名に設定してください。HS_LANGUAGE
の指定とは異なるキャラクタ・セットに設定した場合や、パラメータを省略した場合、変換エラーが発生します。
ゲートウェイには、現在、データ変換目的でIBM Coded Character Set Identifier(CCSID
)をOracle Databaseキャラクタ・セットにマップできる、ユーザー指定の可能な機能があります。
デフォルトのマップ名はcodepage.map
で、ORACLE_HOME/dg4drda/admin
ディレクトリにあります。DRDA_CODEPAGE_MAP
パラメータの詳細は、付録B「初期化パラメータ」を参照してください。
マップには、2つの異なる形式の構文があります。第1の形式の構文では、次のようにCCSIDとOracle Databaseキャラクタ・セット間のマッピングを定義します。
[S|D|M] CCSID direction Oracle_CharacterSet {shift}
変数の意味は次のとおりです。
S
は、シングルバイト・キャラクタ・セットを指定します。
D
は、ダブルバイト・キャラクタ・セットを指定します。
M
は、マルチバイト・キャラクタ・セットを指定します。
CCSID
は、IBM Coded Character Set Identifierです。
direction
は、次のいずれかです。
=
: マッピングは双方向です。
<
: マッピングは、Oracleキャラクタ・セットからCCSIDへの一方向です。
>
: マッピングは、CCSIDからOracleキャラクタ・セットへの一方向です。
Oracle_CharacterSet
は、有効なOracleキャラクタ・セットの名前です。
shift
は、Shift OUT/IN
処理を必要とするキャラクタ・セットを示します。この属性は、EBCDICベースのダブルバイトおよびマルチバイト・マッピングに対してのみ設定してください。
第2の形式の構文では、次のようにマルチバイトCCSIDを等価のシングルバイトおよびダブルバイトCCSIDにマッピングするよう定義します。
MBC multi = single double
変数の意味は次のとおりです。
multi
は、マルチバイトCCSIDです。
single
は、シングルバイトCCSIDです。
double
は、ダブルバイトCCSIDです。
この機能は、ゲートウェイの出荷時点でマップされていなかったCCSIDをマップする方法として用意されています。このマップを変更する場合は、事前にOracleサポート・サービスに連絡してください。
次に、Oracle Database Gateway for DRDAの出荷時点におけるマップの内容を示します。
# Copyright (c) 2001, 2007, Oracle Corporation. All rights reserved. # Database Gateway for DRDA - CodePage/Oracle CharacterSet Map # S==Single-byte, D==Double-byte, M==Multi-byte, MBC==SBC DBC mapping # # Single-byte codepage mappings # S 37 = WE8EBCDIC37 # United States/Canada EBCDIC S 273 = D8EBCDIC273 # Austria/Germany EBCDIC S 277 = DK8EBCDIC277 # Denmark/Norway EBCDIC S 278 = S8EBCDIC278 # Finland/Sweden EBCDIC S 280 = I8EBCDIC280 # Italy EBCDIC S 284 = WE8EBCDIC284 # Latin America/Spain EBCDIC S 285 = WE8EBCDIC285 # United Kingdom EBCDIC S 297 = F8EBCDIC297 # France EBCDIC #S 420 = AR8EBCDICX # Arabic Bilingual (USA English) EBCDIC S 420 = AR8XBASIC # Arabic Bilingual (USA English) EBCDIC S 424 = IW8EBCDIC424 # Israel (Hebrew) EBCDIC S 437 = US8PC437 # Personal Computer,USA ASCII S 500 = WE8EBCDIC500 # International EBCDIC S 813 = EL8ISO8859P7 # Greek ASCII S 819 = WE8ISO8859P1 # ISO/ANSI Multilingual ASCII S 838 = TH8TISEBCDIC # Thai w/Low-Tone Marks & Ancient Chars EBCDIC S 850 < US7ASCII # Multilingual Page - Personal Computer ASCII S 850 = WE8PC850 # Multilingual Page - Personal Computer ASCII S 864 = AR8ISO8859P6 # Arabic - Personal Computer ASCII S 870 = EE8EBCDIC870 # Latin 2, Multilingual/ROECE EBCDIC S 871 = WE8EBCDIC871 # Iceland - CECP EBCDIC S 875 = EL8EBCDIC875 # Greece EBCDIC S 904 > US7ASCII # Traditional Chinese - PC-Data ASCII S 912 = EE8ISO8859P2 # Latin 2 8-bit ASCII S 916 = IW8ISO8859P8 # Israel (Hebrew) ASCII S 1025 = CL8EBCDIC1025 # Cyrillic, Multiling EBCDIC S 1086 = IW8EBCDIC1086 # Israel EBCDIC S 1252 = WE8MSWIN1252 # Latin 1 - MS-Windows ASCII S 1253 = EL8MSWIN1253 # Greek - MS-Windows ASCII S 28709 > WE8EBCDIC37 # United States/Canada (CP28709==CP37) EBCDIC # # Multibyte codepage mappings # #S 833 > KO16DBCS # Korean Extended single-byte EBCDIC #D 834 > KO16DBCS shift # Korean double-byte EBCDIC #M 933 = KO16DBCS shift # Korean Mixed multi-byte EBCDIC #MBC 933 = 833 834 # Korean Mixed multi-byte EBCDIC # #S 1088 > KO16MSWIN949 # Korean KS single-byte PC-Data ASCII #D 951 > KO16MSWIN949 # Korean KS double-byte PC-Data ASCII #M 949 = KO16MSWIN949 # Korean KS multi-byte PC-Data ASCII #MBC 949 = 1088 951 # Korean KS multi-byte PC-Data ASCII # #S 891 > KO16KSC5601 # Korean single-byte ASCII #S 1040 > KO16KSC5601 # Korean single-byte ASCII #D 926 > KO16KSC5601 # Korean double-byte ASCII #M 934 = KO16KSC5601 # Korean multi-byte ASCII #M 944 > KO16KSC5601 # Korean multi-byte ASCII #MBC 934 = 891 926 # Korean multi-byte ASCII #MBC 944 = 1040 926 # Korean multi-byte Extended ASCII # #S 28709 > ZHT16DBCS # Traditional Chinese single-byte EBCDIC #D 835 > ZHT16DBCS shift # Traditional Chinese double-byte EBCDIC #M 937 = ZHT16DBCS shift # Traditional Chinese multi-byte EBCDIC #MBC 937 = 28709 835 # Traditional Chinese multi-byte EBCDIC # #S 1114 > ZHT16MSWIN950 # Traditional Chinese single-byte ASCII #D 947 > ZHT16MSWIN950 # Traditional Chinese double-byte ASCII #M 950 = ZHT16MSWIN950 # Traditional Chinese multi-byte ASCII #MBC 950 = 1114 947 # Traditional Chinese multi-byte ASCII # #S 836 > ZHS16DBCS # Simplified Chinese single-byte EBCDIC #D 837 > ZHS16DBCS shift # Simplified Chinese double-byte EBCDIC #M 935 = ZHS16DBCS shift # Simplified Chinese multi-byte EBCDIC #MBC 935 = 836 837 # Simplified Chinese multi-byte EBCDIC # #S 1027 > JA16DBCS # Japanese single-byte EBCDIC #D 300 > JA16DBCS shift # Japanese double-byte EBCDIC #D 4396 > JA16DBCS shift # Japanese double-byte EBCDIC #M 939 = JA16DBCS shift # Japanese multi-byte EBCDIC #M 5035 > JA16DBCS shift # Japanese multi-byte EBCDIC #MBC 939 = 1027 300 # Japanese multi-byte EBCDIC #MBC 5035 = 1027 4396 # Japanese multi-byte EBCDIC # #S 290 > JA16EBCDIC930 # Japanese single-byte EBCDIC #D 300 > JA16EBCDIC930 shift # Japanese double-byte EBCDIC #D 4396 > JA16EBCDIC930 shift # Japanese double-byte EBCDIC #M 930 = JA16EBCDIC930 shift # Japanese multi-byte EBCDIC #M 5026 > JA16EBCDIC930 shift # Japanese multi-byte EBCDIC #MBC 930 = 290 300 # Japanese multi-byte EBCDIC #MBC 5026 = 290 4396 # Japanese multi-byte EBCDIC #
次のリストを参照して、既存のデータベースのキャラクタ・セットを確認してください。
DB2/OS390の場合: システム管理者に問い合せてください。使用できる単一のコマンドはありません。
DB2/400の場合: コマンドDSPSYSVAL SYSVAL(QCCSID)
を実行します。
DB2/UDBの場合: システム管理者に問い合せてください。使用できる単一のコマンドはありません。
ゲートウェイでダブルバイトおよびマルチバイト・データを適切に処理するには、適切なマルチバイト・マップでコードページ・マップ機能を構成する必要があります。また、オプションとして、次のゲートウェイ構成パラメータを設定できます。
DRDA_GRAPHIC_LIT_CHECK
DRDA_GRAPHIC_TO_MBCS
DRDA_MBCS_TO_GRAPHIC
DRDA_GRAPHIC_PAD_SIZE
DRDA_GRAPHIC_CHAR_SIZE
これらのパラメータ値の詳細は、付録B「初期化パラメータ」を参照してください。
コードページ・マップを構成する場合、DRDAサーバーのデータベースで構成されているコードページの知識と、互換性のあるOracle Databaseキャラクタ・セットの知識が必要です。
IBM Coded Character Set Identifier(CCSID)は、データベースのプライマリ・コードページとして構成するコードページと、データベースにロードする任意の変換キャラクタ・セットを示す際に使用します。DB2などを備えた一部のDRDAサーバーには、2つの互換性のあるキャラクタ・セット間でキャラクタ・セット変換をマップする変換機能があります。DB2/OS390の場合、これらの変換は表SYSIBM.SYSSTRINGS
に格納され、CCSIDコードページが別のCCSIDコードページに変換されます。SYSSTRINGSでは、INおよびOUT列により、変換で使用されるCCSIDが指定されます。一般的な変換は、ASCIIとEBCDIC間の相互変換です。そのため、2つの特定のCCSIDに対して2つの変換が使用されます。
マルチバイト・コードページは、シングルバイト・コードページとダブルバイト・コードページの両方で構成されます。たとえば、韓国語のEBCDICマルチバイト・コードページ(CCSID 933)は、コードページ833(シングルバイト用)とコードページ834(ダブルバイト用)の2つのコードページで構成されています。したがって、DRDAサーバーは、これら3つのコードページのいずれかを使用してゲートウェイにデータを送信できます。ゲートウェイは、データが関連付けられているコードページに合せて適切に変換を行う必要があります。CCSID 933はEBCDICベースのコードページであり、ゲートウェイではASCIIベースのコードページを使用する必要があるため、ASCIIベースのコードページがコードページの等価セットとして識別されます。たとえば、韓国語のマルチバイト・コードページ(CCSID 949)は、コードページ1088(シングルバイト用)とコードページ951(ダブルバイト用)の2つのコードページで構成されています。
コードページ・マップ機能は、これらのCCSIDを等価なOracle Databaseキャラクタ・セットにマップする場合に使用されます。IBM CCSIDとは異なり、Oracle Databaseキャラクタ・セットは統合されており(シングルバイトとダブルバイトのキャラクタ・セットが1つのセットに結合されています)、3つのIDではなく1つのIDで識別されます。前述の例では、ASCII韓国語コードページに等価なOracle Databaseキャラクタ・セットはKO16MSWIN949
となり、EBCDIC韓国語コードページの場合はKO16DBCSとなります。これらは、codepage.map
ファイルの一連のマッピング・エントリの使用によりゲートウェイで識別されます。
EBCDIC韓国語セットは次のとおりです。
S 833 > KO16DBCS # Korean Extended single-byte EBCDIC D 834 > KO16DBCS shift # Korean double-byte EBCDIC M 933 = KO16DBCS shift # Korean Mixed multi-byte EBCDIC MBC 933 = 833 834 # Korean Mixed multi-byte EBCDIC
マルチバイト・セットは、KO16DBCS
に対する双方向マップです。ただし、シングルバイトおよびダブルバイトのコードページは、KO16DBCS
に対する一方向マップです。特定のペアについて存在可能なCCSIDとOracle Databaseキャラクタ・セットの双方向エントリは1つのみであるため、マルチバイト・セットは直接マップします。また、シングルバイトおよびダブルバイトのCCSIDは名目上はKO16DBCS
のサブセットであるため、これらのCCSIDは一方向エントリとしてマップします。ダブルバイトおよびマルチバイトのマップには、shift属性のタグが付けられます。これは、データのシフトアウトおよびシフトイン・カプセル化の一環として、EBCDICダブルバイトおよびマルチバイト・コードページで必要です。シングルバイト・セットは、ダブルバイト・データを含むことが許可されておらず、シフト・カプセル化を使用できないため、シングルバイト・マップはマークされません。MBCエントリにより、複数のコードページが1つに結合されます。
ASCII韓国語セットも同様にマップされ、次のようになります。
S 1088 > KO16MSWIN949 # Korean KS single-byte PC-Data ASCII D 951 > KO16MSWIN949 # Korean KS double-byte PC-Data ASCII M 949 = KO16MSWIN949 # Korean KS multi-byte PC-Data ASCII MBC 949 = 1088 951 # Korean KS multi-byte PC-Data ASCII
マルチバイト・セットは、KO16MSWIN949
に対する双方向マップです。ただし、シングルバイトおよびダブルバイトのコードページは、KO16MSWIN949
に対する一方向マップです。特定のペアについて存在可能なCCSIDとOracle Databaseキャラクタ・セットの双方向エントリは1つのみであるため、マルチバイト・セットは直接マップします。シングルバイトおよびダブルバイトのCCSIDは名目上はKO16MSWIN949
のサブセットであるため、これらのCCSIDは一方向エントリとしてマップします。これらのマッピングには、shift属性はありません。その理由は、ASCIIベースのセットではシフトアウトおよびシフトイン・カプセル化を使用しないためです。かわりに、ASCIIベースのセットでは、異なる方法(シフトアウトおよびシフトイン・プロトコルを使用しない方法)を使用してダブルバイト文字を識別します。
前述のエントリにより、ゲートウェイに必要なコードページ・マッピングが提供されます。例を完成するには、ゲートウェイ初期化ファイルのHS_LANGUAGE
およびHS_NLS_NCHAR
パラメータに適切なキャラクタ・セットを指定する必要があります。ゲートウェイ初期化パラメータは、次のようになります。
HS_LANGUAGE=AMERICAN_AMERICA.KO16MSWIN949 HS_NLS_NCHAR=KO16MSWIN949
指定するキャラクタ・セットは、ASCIIベースである必要があります。
これにより、ゲートウェイの構成に対応します。最後の手順では、DRDAサーバー・データベースでEBCDICコードページとASCIIコードページ間の変換を設定します。通常、ゲートウェイでは、2つの方向の各ペアを1つとして、合計6つの変換を使用します。ASCIIからEBCDICへの変換のみをインストールすることで、表の領域を節約できます。この理由は、DRDAサーバーでは、ゲートウェイから送信されるASCIIデータのみを変換する必要があり、ASCIIデータを送信する必要はないためです。ゲートウェイは、EBCDICデータを受信して必要に応じて変換します。この一方的なデータ変換方法は、受信者解決方式(receiver-makes-right)と呼ばれます(つまり、送信者がどのようなキャラクタ・セットを使用していても、受信者がそれを変換する必要があります)。ここでの例では、DRDAサーバーはEBCDICベースのため、すべてのデータをEBCDICで送信します。したがって、サーバーでEBCDICからASCIIへの変換が使用されることはないため、この変換をサーバーに用意する必要はありません。
前述の例において、DRDAサーバー・データベースではEBCDICの使用が仮定されており、これは通常DB2/OS390データベースにも適用されます。ただし、DB2/UDBデータベースの場合、通常これは適用されません。ほとんどのDB2/UDBデータベースは、ASCIIベースのコンピュータ上で稼働するため、ASCIIベースのコードページを使用して作成されるのが普通です。このような場合、ゲートウェイでは、ASCIIセットに対応するコードページ・マップ定義のただ1つのセットを必要とします。また、DRDAサーバーとゲートウェイの両方で同じコードページを使用するため、DB2データベースにキャラクタ・セット変換をロードする必要はありません。このため、文字変換に関連するCPUオーバーヘッドの量を減らすことができます。
コードページ・マップのエントリに関する最後の留意事項として、一部のマルチバイト・コードページが、製品に付属のcodepage.mapファイルで定義済のシングルバイトCCSIDで構成されている可能性があることに注意してください。マルチバイト・セットをサポートする新規エントリ・セットを追加する場合、新規エントリが正しく使用されるように付属のエントリをコメント・アウトしてください。
製品に付属していないコードページ・マッピングを追加することも可能です。IBM CCSIDとOracle Databaseキャラクタ・セットの知識があれば、前述の例のようなエントリを構成できます。コードページの定義とOracle Databaseキャラクタ・セットの定義に関するIBM社のドキュメントを参照しても、この作業は複雑となる可能性があるため、本番環境に移行する前に、使用するすべての文字データ値の定義を十分にテストしてください。
不明な点がある場合は、Oracleサポート・サービスに連絡して適切なコードページ・マッピング・エントリをリクエストしてください。
サーバー上で稼働するOracle製品セットにインストールされたモジュールに応じて、言語メッセージ・モジュールを使用できるかどうかが決定されます。特定の言語セット用のメッセージ・モジュールがインストールされていない場合、言語パラメータでその言語を指定しても、リクエストされた言語でメッセージは表示されません。
次に、システム全体で言語とキャラクタ・セットが矛盾なく動作するように、ゲートウェイ、DRDAサーバー、Oracle Databaseおよびクライアントを構成するために必要なすべての設定の例を示します。この例の設定により、ドイツのユーザーがドイツ語でゲートウェイと通信できます。
ゲートウェイのinitsid.oraファイル:
HS_LANGUAGE=AMERICAN_AMERICA.WE8ISO8859P1 HS_NLS_DATE_FORMAT=YYYY-MM-DD
DRDAサーバーのCCSID:
273 (D8EBCDIC273)
Oracle Databaseおよびデータベース・クライアント設定:
SELECT USERENV('language') FROM DUAL; USERENV('LANGUAGE') ----------------------------- AMERICAN_AMERICA.WE8ISO8859P1
Oracle Databaseおよびクライアントの環境変数:
NLS_LANG=GERMAN_GERMANY.WE8ISO8859P1