サーバーへのメタデータのインポート¶
ある Virtual DataPort からエクスポートされたデータを、以下の方法を使用して別の Virtual DataPort サーバーにインポートできます。
[File] > [Import] ダイアログ (以下の説明を参照)
Denodo Tools ツールキットに含まれる import スクリプト 。詳細については、「 import/export スクリプトによるバックアップと複製 」を参照してください。

[Import] ダイアログ¶
[File] メニューの [Import] ダイアログには、以下のオプションがあります。
VQL file: VQL ファイルへのパスを入力します。以下のいずれかの値を取ります。
メタデータを再作成する VQL ステートメントを含むプレーンテキストファイル。
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 つの方法があります。
[Add] をクリックしてコネクションの詳細を入力することによって、手動でサーバーのリストを追加します。
ファイルからリストをインポートします。これを行うには、[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 に以下の内容が存在するとします。
customer データベースを作成します。
以下のステートメントを実行します。
CREATE VIEW v1 AS SELECT * FROM support.v3; CREATE VIEW v2 AS SELECT * FROM support.v4;
support データベースおよび v3 ビューと v4 ビューを作成します。
サーバーがこの VQL を処理する場合、customer データベースに v1 ビューと v2 ビューを作成するステートメントは失敗します。なぜなら、support データベースの v3 ビューと v4 ビューはまだ存在しないからです。失敗したクエリは「遅延クエリ」のリストに追加されます。ファイル全体を処理した後、インポートプロセスは適切なデータベースで遅延クエリの実行を試みます。この場合、v1 ビューと v2 ビューの作成を試みて成功します。正常に実行されたステートメントは、遅延クエリのリストから削除されます。

VQL のインポート: 遅延ステートメントが 1 つあることを示している進捗ダイアログ¶
インポートプロセスは、VQL ファイルのすべてのステートメントを実行した後、以下の条件のいずれかが満たされるまで、すべての遅延クエリを実行し続けます。
遅延クエリのリストが空である。これは VQL ファイル全体が正常にインポートされたことを意味します。
失敗したすべてのステートメントが同じデータベースに属している。
すべての遅延ステートメントを実行したが、1 つも正常に実行されなかった。
遅延ステートメントが存在する場合、インポートプロセスの完了後に [More details] をクリックすると、以下のような詳細が表示されます。
Command #500
Statement: CREATE VIEW v1 AS SELECT * FROM support.v3
QUERY DELAYED
これは、このステートメントが最初は失敗したが、後で再実行されて成功したことを意味します。