ロケール構成の管理

Virtual DataPort は、さまざまな国や場所のグループから取得したデータを操作できます。ロケール構成はマップで表され、Virtual DataPort で管理されるデータの取得元の国や場所それぞれに存在します。考慮される各場所に対して、構成可能なさまざまなパラメータがあります。構成可能なパラメータの例としては、小数点や桁区切り記号として使用される記号、日付形式などがあります。

Virtual DataPort には、最も一般的な状況に合わせて作成されたロケール構成が含まれていますが、非常に簡単なプロセスで新しい構成を作成することができます。このセクションでは、このプロセスについて詳しく説明します。

場所のロケールパラメータはさまざまなグループに分割できます。以下に、そのさまざまなグループを示し、同じグループを構成する各パラメータについて詳しく説明します。

注釈

ロケールパラメータでは大文字と小文字は区別されません。たとえば、「timeZone」と「timezone」は同じキーに対応します。

  • 汎用パラメータ

    • language - 対象の場所で使用されている言語を示します。これは有効な ISO 言語コードです。これらのコードには、 ISO-639 で定義されている 2 文字の小文字が含まれます。例: es (スペイン語)、 en (英語)、 fr (フランス語)。

    • country - 対象の場所に関連付けられている国を指定します。これは有効な ISO 国コードです。これらのコードには、 ISO-3166 で定義されている 2 文字の大文字が含まれます。例: ES (スペイン)、 ES_EURO (EURO 通貨を使用するスペイン)、 GB (英国)、 FR (フランス)、 FR_EURO (EURO 通貨を使用するフランス)、 US (米国)。

    • timeZone - 場所のタイムゾーンを示します (例: スペインの Europe/Madrid = GMT+01:00 = MET = CET)。

  • Configuration of dates: date 型の構成。

    • datePattern - 日付の形式を示します。このパラメータは、Java クラス java.text.DateFormat および java.text.SimpleDateFormat の日付関連メソッドと同じ構文のパターンです。日付パターンで使用される予約済みの文字それぞれの意味は、「 Virtual DataPort で使用される Java の日付と時刻のパターン 」に記載されています。日付パターンの例: d-MMM-yyyy H'h' m'm'

    • datesubtypepattern - 「ソース型プロパティ」の「型」が DATE である日付の形式を示します。

    • timesubtypepattern - 「ソース型プロパティ」の「型」が TIME である日付の形式を示します。

  • Configuration of real numbers: データ型 floatdouble 、および decimal を簡単に構成できるようにします。

    • doubleDecimalPosition - 10 進数値を表す場合に使用する小数部の桁数を示します。

    • doubleDecimalSeparator - 10 進数値を出力する場合に使用する小数点記号を表します。

    • doubleGroupSeparator - 10 進数値の桁区切り記号を指定します。

次の例は、ロケール構成 us_pst (米国太平洋標準時刻) を作成するために必要なステートメントを示しています。

ロケール構成 us_pst
CREATE MAP I18N i18n_us_pst (
    'country' = 'US'
    'datepattern' = 'MMM d, yyyy h:mm:ss a'
    'doubledecimalposition' = '2'
    'doubledecimalseparator' = ''
    'doublegroupseparator' = ''
    'language' = 'en'
    'timepattern' = 'DAY'
    'timezone' = 'PST'
);

ロケールマップの置き換え

ロケールマップを置き換えるには、ステートメント CREATE OR REPLACE MAP I18N <map name> を実行します。

この操作を実行するには、以下の条件のいずれかを満たしている必要があります。

  1. ステートメントを実行するユーザーが管理者である。

  2. または、ステートメントを実行するユーザーが以下のデータベースの標準ユーザー兼管理者である。

    • VCS を使用するように構成されておらず、置き換え対象のロケールマップに依存しているサーバー内のデータベース。

    • ロケールマップに依存するリモートデータベースそれぞれについて、VCS を使用するように構成されている 1 つ以上のデータベース。

2 番目の条件の例:

  • mymap と呼ばれるカスタムロケールマップがあります。

  • User1 は、データベース MyLocalDbDb1_user1 、および Db2_user1 の標準ユーザー兼管理者です。これらのデータベースのロケールマップは mymap です。 Db1_user1 および Db2_user1 は VCS を使用するように構成され、それぞれリモートデータベース Db1Db2 にリンクされています。 MyLocalDb は VCS を使用するように構成されていません。

  • User2 は、データベース Db1_user2 および Db2_user2 の標準ユーザー兼管理者です。これらのデータベースのロケールマップは mymap です。 Db1_user2 および Db2_user2 は VCS を使用するように構成され、それぞれリモートデータベース Db1Db2 にリンクされています。

このシナリオの場合、User1 は CREATE OR REPLACE MAP I18N mymap を実行できます。

User2 は CREATE OR REPLACE MAP I18N mymap を実行できません。 mymap に依存し、VCS を使用するように構成されていないデータベース (つまり、 MyLocalDB) の管理者ではないためです。

VCS が構成されたデータベースでは、ユーザーがデータベースのチェックアウトを実行すると、サーバーが CREATE OR REPLACE MAP <map of the database> を実行します。

ロケールマップの削除

ロケールマップを削除するには、ステートメント DROP MAP I18N <map name> を実行します。

マップがビューやデータベースなどの別のエレメントから参照されている場合 (すべてのデータベースとビューにロケールがある場合)、このステートメントは失敗します。

マップを強制削除する場合は、 DROP MAP I18N <map name> CASCADE を実行します。

これによりマップは削除され、削除するロケールマップを使用しているビューも削除されます。

削除するロケールマップを使用しているデータベースが存在する場合は、 CASCADE 修飾子を追加しても、このコマンドは失敗します。