11 SQL*Plusのグローバリゼーション・サポート
グローバリゼーション・サポートによって、ネイティブ言語によるデータの格納、処理および取得が可能です。Oracle Databaseに格納できる言語は、Oracle Databaseでサポートされている文字セットでエンコードされます。グローバリゼーション・サポートによって、データベース・ユーティリティ、エラー・メッセージ、ソート順序および日付、時間、通貨、数値およびカレンダの表記規則に、ネイティブ言語とロケールが適用されます。
トピック:
グローバリゼーション・サポートの詳細は、Oracle Technology Network上のグローバリゼーションに関するノート(http://www.oracle.com/technetwork/products/globalization/
)を参照してください。
また、「グローバリゼーション・サポートの概要」を参照してください。
11.1 SQL*Plusコマンドラインでのグローバリゼーション・サポートの構成について
SQL*Plusでは、環境変数NLS_LANGを使用すると、複数言語がサポートされます。SQL*Plusに別の言語を表示するには、次の項目を構成してからSQL*Plusを起動する必要があります。
-
SQL*Plusクライアント環境のNLS_LANG
-
インストール中のOracle Database
11.2 NLS_LANG環境変数
環境変数NLS_LANGには3つの要素があり、各要素は、グローバリゼーション機能のサブセットを制御します。
選択した文字セットが、オペレーティング・システムおよびキーボードでサポートされている必要があります。追加のサポート・ソフトウェアをインストールする必要がある場合もあります。NLS_LANGおよびソフトウェア・サポートの詳細は、「グローバリゼーションのサポート環境の設定」を参照してください。
SQL*Plusクライアントのロケール固有の動作を設定するには、NLSパラメータを使用します。これらのパラメータは、サーバーの初期化パラメータとしてなど、いくつかの方法で指定できます。サーバーの動作を制御する設定の詳細は、「NLSデータベースのパラメータ」を参照してください。
NLS_LANGの構文は、次のとおりです。
NLS_LANG = language_territory.charset
languageには、Oracle Databaseのメッセージ、ソート順序および日と月の名前で使用される表記規則を指定します。たとえば、日本語のメッセージを受信するには、languageにJAPANESEを設定します。languageを指定しない場合は、デフォルトでAMERICANが設定されます。
territoryには、デフォルトの日付、通貨および数値の表記規則を指定します。たとえば、日本語地域の書式を使用するには、territoryにJAPANを設定します。territoryを設定しない場合は、languageの値からデフォルト値が導出され、AMERICAに設定されます。
SQL*Plusコマンドラインでは、charsetに、SQL*Plusがデータ処理で使用する文字セット・コードを指定します。一般的に、ユーザー端末の文字セット・コードに適したコードを指定します。矛盾する組合せを設定できますが、動作はしません。たとえば、次のように西ヨーロッパの文字セットを使用しながら、日本語をサポートすることはできません。
NLS_LANG=JAPANESE_JAPAN.WE8DEC
ただし、日本語はUnicode文字セットを使用してサポートできます。次に例を示します。
NLS_LANG=JAPANESE_JAPAN.UTF8
11.3 NLS_LANGの設定
グローバリゼーションの機能を制御するNLS_LANG環境変数を設定できます。
例11-1 SQL*Plusの日本語サポートの構成(Windows)
-
現行のSQL*Plusセッションが終了していることを確認します。
-
「スタート」→「設定」→「コントロール パネル」から「システム」を開きます。
-
「詳細設定」タブを選択してから、「環境変数」を選択します。
-
新規の環境変数NLS_LANGを、Japanese_Japan.JA16SJISという値を指定して作成します。
-
ここでの設定を有効にするために、Windowsを再起動する必要があります。
例11-2 SQL*Plusの日本語サポートの構成(UNIX)
-
現行のSQL*Plusセッションが終了していることを確認します。
-
使用しているUNIXのシェルによってsetまたはsetenvのいずれかを使用して、NLS_LANG変数を設定します。たとえばCシェルでは、次のように入力します。
setenv NLS_LANG Japanese_Japan.UTF8
または
setenv NLS_LANG Japanese_Japan.JA16SJIS
または
setenv NLS_LANG Japanese_Japan.JA16EUC
NLS_LANGパラメータの正確な値は、UNIX端末のロケール設定によって決まります。NLS_LANG設定の詳細は、「NLS_LANGの値の指定」を参照してください。