ヘッダーをスキップ

SQL*Plus ユーザーズ・ガイドおよびリファレンス
10g リリース2(10.2)

B19277-01
目次
目次
索引
索引

戻る 次へ

11 SQL*Plusグローバリゼーション・サポート

グローバリゼーション・サポートによって、ネイティブ言語によるデータの格納、処理および取得が可能です。Oracleデータベースに格納できる言語は、Oracleデータベースでサポートされているキャラクタ・セットでエンコードされます。グローバリゼーション・サポートによって、データベース・ユーティリティ、エラー・メッセージ、ソート順序および日付、時間、通貨、数値およびカレンダの表記規則に、ネイティブ言語とロケールが適用されます。

ここでは、次の項目について説明します。

グローバリゼーション・サポートの詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。

SQL*Plusコマンドラインでのグローバリゼーション・サポートの構成

SQL*Plusでは、環境変数NLS_LANGを使用すると、複数言語がサポートされます。SQL*Plusに別の言語を表示するには、次の項目を構成してからSQL*Plusを起動する必要があります。

SQL*Plusクライアント

SQL*Plusクライアント環境の構成は、起動時にSQL*Plusによって読み取られる環境変数NLS_LANGを設定して行います。

Oracleデータベース

Oracleデータベース環境の構成は、必要なキャラクタ・セットを指定してデータベースを作成して行います。

iSQL*Plusでの複数言語サポートの構成

iSQL*Plusでの複数言語サポートは、iSQL*Plusセッションで使用するWebブラウザでは、Unicode UTF-8文字コードを使用して、セッションを送信するiSQL*Plusアプリケーション・サーバーでは、AL32UTF8文字コード(Oracleで実装されるUnicode)を使用して行われます。

OracleデータベースでもAL32UTF8が使用されている場合は、データベースとiSQL*Plusのキャラクタ・セットは1対1で対応します。1対1で対応しない場合には、キャラクタのマッピングが行われます。

Webブラウザ

iSQL*Plusユーザー・インタフェースは、次の言語で表示できます。

iSQL*Plusユーザー・インタフェースは、Webブラウザで優先言語として指定した言語で自動的に表示されます。

iSQL*Plusユーザー・インタフェースを既存のWebブラウザの優先言語以外の言語で表示するには、Webブラウザに言語を追加し、その言語を選択して使用します。たとえば、Internet Explorer 6.0でiSQL*Plusユーザー・インタフェースを日本語で表示するには、次の手順を実行します。

  1. Internet Explorerを起動します。

  2. 「ツール」「インターネット オプション」「言語」「追加」を選択します。

  3. 「日本語[ja]」を選択し、「OK」をクリックします。

  4. 「日本語[ja]」選択し、リストの最上位にくるまで「上へ」をクリックします。

  5. 「OK」をクリックします。

  6. 「OK」をクリックします。

  7. iSQL*PlusのURLを入力します。これで、iSQL*Plusユーザー・インタフェースが日本語で表示されます。

ご使用のWebブラウザでUTF-8文字コードがサポートされている必要があります。最近のほとんどのWebブラウザで、UTF-8はサポートされています。

アプリケーション・サーバー

iSQL*Plusの問合せの出力に使用される言語は、iSQL*Plusアプリケーション・サーバー起動時に有効な環境変数NLS_LANGの言語および地域の値によって異なります。charsetパラメータは無視され、常にUTF8になります。言語および地域の値は、そのアプリケーション・サーバーから実行されるすべてのiSQL*Plusセッションで使用されます。ただし、ALTER SESSIONコマンドを使用すると、現行のセッションで使用する言語および地域を変更できます。たとえば、現行のセッションで中国語および中国語表記規則を使用するには、次のとおり入力します。

ALTER SESSION SET NLS_LANGUAGE='SIMPLIFIED CHINESE';
ALTER SESSION SET NLS_TERRITORY='CHINA';

iSQL*Plusブラウザに送信される新しいページに、中国語のエラー・メッセージおよびテキスト・フィールドが表示されます。これで、中国語表記規則に対応した情報が表示されます。この変更は、現行のiSQL*Plusセッションの現行のログインに対する一時的なものです。現在、有効となっている設定を調べるには、次のとおり入力します。

SELECT * FROM NLS_SESSION_PARAMETERS;

NLS_LANGUAGEおよびNLS_TERRITORYの値は、NLS_LANG変数の言語および地域のコンポーネントに対応しています。

環境変数NLS_LANG

環境変数NLS_LANGには3つの要素があり、各要素は、グローバリゼーション機能のサブセットを制御します。

選択したキャラクタ・セットが、オペレーティング・システムおよびキーボードでサポートされている必要があります。追加のサポート・ソフトウェアをインストールする必要がある場合もあります。NLS_LANGおよびサポート・ソフトウェアの詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。

SQL*Plusクライアントのロケール固有の動作を設定するには、NLSパラメータを使用します。これらのパラメータは、サーバーの初期化パラメータとしてなど、いくつかの方法で指定できます。サーバーの動作を制御する設定については、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。

NLS_LANGの構文は、次のとおりです。

NLS_LANG = language_territory.charset

languageには、Oracleデータベースのメッセージ、ソート順序および日と月の名前で使用される表記規則を指定します。たとえば、日本語のメッセージを受信するには、languageにJAPANESEを設定します。languageを指定しない場合は、デフォルトでAMERICANが設定されます。

territoryに、デフォルトの日付、通貨および数値の表記規則を指定します。たとえば、日本語地域の書式を使用するには、territoryにJAPANを設定します。territoryを設定しない場合、デフォルトの値は、言語の値に基づき設定されます。言語の値がデフォルトの場合には、AMERICAに設定されます。

SQL*Plusコマンドラインでは、charsetに、SQL*Plusがデータ処理で使用するキャラクタ・セット・コードを指定します。一般的に、ユーザー端末のキャラクタ・セット・コードに適したコードを指定します。矛盾する組合せを設定できますが、動作はしません。たとえば、次のように西ヨーロッパのキャラクタ・セットを使用しながら、日本語をサポートすることはできません。

NLS_LANG=JAPANESE_JAPAN.WE8DEC

ただし、日本語はUnicodeキャラクタ・セットを使用してサポートできます。たとえば、次のように入力します。

NLS_LANG=JAPANESE_JAPAN.UTF8

charsetは、iSQL*Plusアプリケーション・サーバーでは使用されません。iSQL*Plusアプリケーション・サーバーでは、常に、AL32UTF8文字コード(Oracleで実装されるUnicode)が使用されます。この文字コードは変更できません。

NLS_LANGの設定表示

SELECTコマンドを使用して、NLS_LANGの設定を表示できます。

SELECT * FROM NLS_SESSION_PARAMETERS;

NLS_LANGUAGEおよびNLS_TERRITORYの値は、NLS_LANG変数の言語および地域のコンポーネントに対応しています。

また、NLSの動的パフォーマンスのビュー表のV$NLS_VALID_VALUESを問い合せると、NLS_SORT、NLS_LANGUAGE、NLS_TERRITORYおよびNLS_CHARACTERSETの有効な値のリストを表示できます。

NLS_LANGの設定

グローバリゼーションの機能を制御する環境変数NLS_LANGを設定できます。

例11-1    SQL*Plusの日本語サポートの構成(Windows)

  1. 現行のSQL*Plusセッションが終了していることを確認します。

  2. 「スタート」→「設定」→「コントロール パネル」から「システム」を開きます。

  3. 「詳細」タブを選択してから、「環境変数」を選択します。

  4. 新規の環境変数NLS_LANGを、Japanese_Japan.JA16SJISという値を指定して作成します。

  5. ここでの設定を有効にするために、Windowsを再起動する必要があります。

例11-2    SQL*Plusの日本語サポートの構成(UNIX)

  1. 現行のSQL*Plusセッションが終了していることを確認します。

  2. 使用している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の設定の詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。

例11-3    Oracleデータベースの日本語サポートの構成

UTF-8文字コードを使用して、日本語キャラクタ・セットでデータを格納するには、OracleデータベースがAL32UTF8キャラクタ・セットで作成されていることを確認します。US7ASCII以外のキャラクタ・セットでデータベースを作成する方法については、Oracleデータベースのインストレーション・ガイドを参照してください。


戻る 次へ
Oracle
Copyright © 2005 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引