ロケール構成の管理¶
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: データ型
float
、double
、およびdecimal
を簡単に構成できるようにします。doubleDecimalPosition - 10 進数値を表す場合に使用する小数部の桁数を示します。
doubleDecimalSeparator - 10 進数値を出力する場合に使用する小数点記号を表します。
doubleGroupSeparator - 10 進数値の桁区切り記号を指定します。
次の例は、ロケール構成 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'
);
既存の i18n マップの実際の構成を確認するには、ステートメント DESC VQL MAP I18N <map name>
を実行します。
ロケールマップの置き換え¶
ロケールマップを置き換えるには、ステートメント CREATE OR REPLACE MAP I18N <map name>
を実行します。
この操作を実行するには、以下の条件のいずれかを満たしている必要があります。
ステートメントを実行するユーザーが管理者である。
または、ステートメントを実行するユーザーが以下のデータベースの標準ユーザー兼管理者である。
VCS を使用するように構成されておらず、置き換え対象のロケールマップに依存しているサーバー内のデータベース。
ロケールマップに依存するリモートデータベースそれぞれについて、VCS を使用するように構成されている 1 つ以上のデータベース。
2 番目の条件の例:
mymap
と呼ばれるカスタムロケールマップがあります。User1 は、データベース
MyLocalDb
、Db1_user1
、およびDb2_user1
の標準ユーザー兼管理者です。これらのデータベースのロケールマップはmymap
です。Db1_user1
およびDb2_user1
は VCS を使用するように構成され、それぞれリモートデータベースDb1
とDb2
にリンクされています。MyLocalDb
は VCS を使用するように構成されていません。User2
はデータベースDb1_user2
およびDb2_user2
の標準ユーザー兼管理者です。これらのデータベースのロケールマップはmymap
です。Db1_user2
およびDb2_user2
は VCS を使用するように構成され、それぞれリモートデータベースDb1
とDb2
にリンクされています。
このシナリオの場合、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
修飾子を追加しても、このコマンドは失敗します。