ヘッダーをスキップ
SQL*Plus®ユーザーズ・ガイドおよびリファレンス
リリース11.2
B56314-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

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

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

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

グローバリゼーション・サポートの詳細は、Oracle Technology Network上のグローバリゼーションに関する注意事項(http://www.oracle.com/technetwork/products/globalization/)を参照してください。

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

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

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

SQL*Plusクライアント

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

Oracle Database

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

環境変数NLS_LANG

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

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

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

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

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 Databaseの日本語サポートの構成

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