ロケール構成の管理¶
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 修飾子を追加しても、このコマンドは失敗します。
