Advanced Operations Guide (v11)

ロケーター ファイルのリダイレクト

ゲートウェイ エンジン操作のこの機能は、複数ディレクトリのデータベースのトランザクション アトミシティを保証し、また複数のデータ ディレクトリにわたるゲートウェイ エンジンの名前の変更を容易にします。

Pervasive PSQL クライアントがリモート データ ファイルにアクセスする際に次の方法を使用することを思い出してください。

ゲートウェイ設定は、データ ファイルが存在するコンピューター上に使用可能なデータベース エンジンがない場合にのみ有効になることを覚えておいてください。

この機能により、同一ボリューム上の複数ディレクトリのデータベースのトランザクション一貫性保守を保ちながら動的(変動)ゲートウェイ エンジンを使用することができます。この利点は、別のゲートウェイ ロケーター ファイルを指示する新しいゲートウェイ ロケーター ファイルによってもたらされました。新しいタイプはリダイレクト ロケーター ファイルと呼びます。ディレクトリ D のロケーター ファイルを指示するリダイレクト ロケーター ファイルをディレクトリ A、B、C に持つことにより、ディレクトリ D のロケーター ファイルが指定するゲートウェイ エンジンが、ほかのディレクトリにあるデータ ファイルのサービスも確実に提供することができるようになります。

ディレクトリ D のロケーター ファイルが固定ゲートウェイを指定しているか、これらのファイルを最初に開いたエンジンによって動的に作成されるかにかかわらず、このアーキテクチャは指定されたすべてのディレクトリが必ず同一のゲートウェイ エンジンを使用します。同様に、いくつかのディレクトリの固定ゲートウェイを変更しようとする場合、リダイレクト ロケーター ファイルを使用すると、すべてのロケーター ファイルではなく、たった 1 つのロケーター ファイルを変更するだけで済みます。したがって、一定のハード ドライブ上のすべてのデータ ファイルが固定ゲートウェイを指定しているといないにかかわらず、同一ゲートウェイ エンジンを使用するように指定することができます。

リダイレクト ロケーター ファイルの要件

リダイレクト ロケーター ファイルの最初の行は "=>" で始め、その後に必ず同一ドライブ上にある別のロケーター ファイルのパスを指定する必要があります。パス名にはスラッシュおよび円記号の任意の組み合わせを使用することができます。スラッシュはすべてローカル オペレーティング システムの使用するタイプの区切り文字に変換されます。

スラッシュで終わるパスを指定した場合、データベース エンジンはパスの最後にデフォルトのロケーター ファイル名(~PVSW~.LOC)を追加します。指定したパスがスラッシュで終わっていない場合、データベース エンジンはパスにファイル名が含まれているものと見なします。

次の表は、リダイレクト ロケーター ファイルのパスの指定方法の一覧です。

表 41 リダイレクト ロケーター ファイル パスの記述方法
パス
説明
=>¥path_name
現在のロケーター ファイルが格納されているルート ドライブからパスを指定します。
=>.¥path_name
現在のディレクトリからの相対パスを指定します。
=>..¥path_name
現在のディレクトリの親ディレクトリからの相対パスを指定します。

これらのロケーター ファイルに複数レベルのリダイレクトを割り当てることができます。たとえば、最初のロケーター ファイルが 2 番目のロケーター ファイルを指示し、2 番目のロケーター ファイルが 3 番目のロケーター ファイルを指示するという具合です。各ワークグループ エンジンはそれぞれのロケーター ファイルを順に開き、実際のゲートウェイ名を探します。いったん "=>" で始まらないロケーター ファイルを見つけると検索は中止され、エンジンはこのロケーター ファイルがゲートウェイ エンジンを指定しているものと見なします。

リダイレクト ロケーター ファイルの作成

ほかのロケーター ファイルと同様、リダイレクト ロケーター ファイルは普通のテキスト ファイルです。リダイレクト ロケーター ファイルは手作業でもプログラムからでも作成することができます。リダイレクト ロケーター ファイルには読み取り専用フラグを設定しておかないと、そのディレクトリにあるデータ ファイルに最初にアクセスを試みたエンジンによって上書きされてしまいます。

リダイレクト ロケーター ファイルを作成するには

  1. メモ帳またはテキスト エディターを開き、新規テキストファイルを開きます。
  2. 完了時にファイルをどこに保存するかを決定します。別のロケーター ファイルにリダイレクトしようとするデータ ファイルと同じディレクトリにファイルを保存します。
    たとえば、C:¥data にあるデータ ファイルが、確実にほかのデータ ファイルと同じゲートウェイ エンジンによってアクセスされるようにするには、C:¥data を忘れないようにしておきます。
  3. => と次のロケーター ファイルのパス名を入力します。前の手順の例で続けると、C:¥data にある現在のデータ ファイルが、C:¥moredata にあるロケーター ファイルで指定されたゲートウェイ エンジンに属するようにしたい場合、次のように入力します。
    =>..¥moredata¥(推奨)または
    =>¥moredata¥(推奨しません)
    最初のケースでは現在のディレクトリからの相対パスを指定しています。2 番目のケースは現在のドライブからの絶対パスを指定しています。この例の場合では、両方とも同じ目的のディレクトリを解決することができます。

    メモ

    Pervasive はリダイレクト ロケーター ファイルでは相対パス( .¥ または ..¥で始まる)を使用し、同じデータにアクセスするすべてのワークステーションで同じ共有名を使用することを強くお勧めします。この 2 つの忠告に従えば、マップ ドライブでのネットワーク パス名の解決で起こるエラーを防ぐことができます。


  4. ゲートウェイ エンジンを指定したいデータ ファイルが存在するディレクトリに ~PVSW~.LOC という名前でファイルを保存します。
  5. メモ帳またはテキスト エディターを閉じます。
  6. このテキスト ファイルに読み取り専用フラグを設定します。
    Windows でファイルを読み取り専用にするには、Windows エクスプローラーで ファイル アイコンを右クリックして[プロパティ]ダイアログ ボックスを使用するか、[プログラム]の DOS セッションかプログラムで ATTRIB コマンドを使用します。
    ATTRIB +R ~PVSW~.LOC 
    

固定ゲートウェイで多数のデータ ディレクトリの同期をとるには

  1. 手作業または Gateway Locator プログラムを使用して、リダイレクトしない読み込み専用の(固定)ロケーター ファイルを作成します。ゲートウェイとして使用するワークグループ エンジンを指定する必要があります。
    たとえば、ロケーター ファイルに "workgroup1" というコンピューター名をゲートウェイ エンジンとして指定し、ファイルが C:¥DATA¥DB1 にあるとします。
  2. 前の手順で指定したゲートウェイ エンジンを使用しようとする、その他のデータ ディレクトリごとに、リダイレクト ロケーター ファイルを作成する必要があります。各リダイレクト ロケーター ファイルは前の手順で作成したファイルを示す必要があります。
    前の例でいうと、C:¥DATA¥DB2 および C:¥DATA¥DB3 にあるリダイレクト ロケーター ファイルは次のテキストを含みます。
    =>..¥DB1¥ 
    
    これにより、このファイルを読み込んだエンジンはすべて相対パスに従って、指定された C:¥DATA¥DB1 で別のロケーター ファイルを検索します。この場合、指定したディレクトリには "workgroup1" をゲートウェイ コンピューターとして挙げているロケーター ファイルがあります。

動的ゲートウェイで多数のデータ ディレクトリの同期をとるには

  1. 上記の手順に従いますが、手順 1 でロケーター ファイルが固定的に割り当てられないように書き込み可能にするだけです。
    この場合、リダイレクト階層内にあるデータ ファイルにどのエンジンもアクセスしていなければ、目的のディレクトリにはロケーター ファイルがないということを覚えておいてください。この状態は正常です。動的ロケーター ファイルはエンジンの最初のデータ アクセスによって各セッションに作成され、最後のユーザー セッションが終了したときに削除されます。ロケーター ファイルが存在しないデータ ディレクトリを示すリダイレクト ロケーター ファイルを持つことは問題ありません。この場合、データ ファイルを最初に開いたエンジンがロケーター ファイルを作成します。

4 に示したロケーター ファイルの例を使用すると、左側のリダイレクト ロケーター ファイルはデータベース エンジンに 1 つ上のディレクトリに行き、そのサブディレクトリの newdir でデフォルト名(~PVSW~.LOC)を持つ別のロケーター ファイルを探すように指示しています。今度は、このロケーター ファイルが ntserver1 という名前のコンピューター上にあるワークグループ エンジンがゲートウェイ エンジンであることを指定します。その結果、mydir ディレクトリにあるデータ ファイルにアクセスするために、ntserver1 にあるデータベース エンジンが使用されます。

図 4 リダイレクト ロケーター ファイルの例


ワークグループ の問題のトラブルシューティング

データベース リソースの監視