サーバーへのメタデータのインポート

ある Virtual DataPort からエクスポートされたデータを、以下の方法を使用して別の Virtual DataPort サーバーにインポートできます。

Import dialog

[Import] ダイアログ

[File] メニューの [Import] ダイアログには、以下のオプションがあります。

  • VQL file: VQL ファイルへのパスを入力します。以下のいずれかの値を取ります。

    1. メタデータを再作成する VQL ステートメントを含むプレーンテキストファイル。

    2. VQL ファイルとプロパティファイルを含む zip ファイル。

    VQL ファイルとプロパティファイルがあるが同じ zip ファイルに圧縮されていない場合、[Use properties file] チェックボックスをチェックして、[Properties File] ボックスに .properties 拡張子の付いたファイルへのパスを入力します。

  • Save output: インポートプロセスの出力をファイルに保存するには、このチェックボックスをチェックします。ファイルには各 VQL コマンドの実行サマリーが保存されます。

    チェックした場合、[Output file] ボックスに出力ファイルへのパスを入力します。

  • Report only commands that were not executed successfully: チェックされている場合、[VQL file] の VQL ステートメントの実行中に発生するエラーのリストのみが表示されます。チェックされていない場合、実行されたすべてのステートメントのリストが表示されます。

  • Use custom password for sensitive data decryption: VQL が機密データを暗号化するためにカスタムパスワードを使用して生成された場合、このチェックボックスをチェックします。正しいパスワードを入力する必要があります。入力したパスワードが正しくない場合、機密データを含む VQL 文は失敗します。

  • Import in current server: 選択されている場合、VQL ファイルは現在のサーバーで、[Default database] リストで選択されているデータベースに対して実行されます。

    たとえば、VQL ファイルに CREATE VIEW view1... ステートメントのみが含まれている場合、[Default database] で適切なデータベースを選択することが重要です。なぜなら、そこに view1 が作成されるからです。

    VQL がサーバー全体をフルエクスポートしたものである場合、[Default database] は重要ではありません。なぜなら、VQL ファイルに適切な CONNECT DATABASE ステートメントが含まれており、それに続くステートメントを実行するデータベースを変更するからです。

  • Import in multiple servers: 選択されている場合、VQL ファイルはその下のリストで 選択されている すべてのサーバーにインポートされます。

    重要

    メタデータは、このリストで選択されているサーバーに のみ インポートされます。現在接続しているサーバーには、それもリストに含まれる場合を除いて、インポート されません

    このテーブルにサーバーを追加するには、以下に示す 2 つの方法があります。

    1. [Add] をクリックしてコネクションの詳細を入力することによって、手動でサーバーのリストを追加します。

    2. ファイルからリストをインポートします。これを行うには、[Add from file] をクリックしてファイルを選択します。このファイルには、各サーバーの URL を 1 行に 1 つずつ以下の構文で指定する必要があります。

[//]host[:port]/database?user@password[&queryTimeout=value][&chunkTimeout=value][&chunkSize=value]

このファイルには、プレーンテキストまたは暗号化した各サーバーのパスワードを保存できます。パスワードを暗号化するには、VQL シェルで ENCRYPT_PASSWORD ステートメントを実行します。以下に例を示します。

ENCRYPT_PASSWORD 'password'

このコマンドは暗号化されたパスワードを返します。それに「encrypted:」を接頭辞として付加して、サーバーファイルに追加する必要があります。以下に例を示します。

[Import] ダイアログ: サーバーファイルのサンプル
//production_server_1:9999/admin?administrator_user@encrypted:Gr16MjvuXhRzPtPH/yTXHw==
//production_server_2:9999/admin?administrator_user@encrypted:Gr16MjvuXhRzPtPH/yTXHw==

[Ok] をクリックすると、サーバーはファイル内の VQL ステートメントの処理を開始します。表示される進捗ダイアログで、「Delayed」と表示されるクエリは、失敗したが後で再実行されるクエリです。失敗したクエリを再実行するのは、依存するデータベースのエレメントがまだ作成されておらず、まだ作成できないエレメントを作成しようとしたために、そのクエリが失敗した可能性があるからです。

たとえば、インポートする VQL に以下の内容が存在するとします。

  1. customer データベースを作成します。

  2. 以下のステートメントを実行します。

    CREATE VIEW v1 AS SELECT * FROM support.v3;
    CREATE VIEW v2 AS SELECT * FROM support.v4;
    
  3. support データベースおよび v3 ビューと v4 ビューを作成します。

サーバーがこの VQL を処理する場合、customer データベースに v1 ビューと v2 ビューを作成するステートメントは失敗します。なぜなら、support データベースの v3 ビューと v4 ビューはまだ存在しないからです。失敗したクエリは「遅延クエリ」のリストに追加されます。ファイル全体を処理した後、インポートプロセスは適切なデータベースで遅延クエリの実行を試みます。この場合、v1 ビューと v2 ビューの作成を試みて成功します。正常に実行されたステートメントは、遅延クエリのリストから削除されます。

Import VQL: progress dialog with a delayed statement

VQL のインポート: 遅延ステートメントが 1 つあることを示している進捗ダイアログ

インポートプロセスは、VQL ファイルのすべてのステートメントを実行した後、以下の条件のいずれかが満たされるまで、すべての遅延クエリを実行し続けます。

  1. 遅延クエリのリストが空である。これは VQL ファイル全体が正常にインポートされたことを意味します。

  2. 失敗したすべてのステートメントが同じデータベースに属している。

  3. すべての遅延ステートメントを実行したが、1 つも正常に実行されなかった。

遅延ステートメントが存在する場合、インポートプロセスの完了後に [More details] をクリックすると、以下のような詳細が表示されます。

Command #500
Statement: CREATE VIEW v1 AS SELECT * FROM support.v3
QUERY DELAYED

これは、このステートメントが最初は失敗したが、後で再実行されて成功したことを意味します。