import スクリプト

import スクリプトは、1 つの Virtual DataPort サーバーに、または同時に複数の Virtual DataPort サーバーに、VQL ファイルまたはリポジトリの内容をインポートします。

以下のセクションでは、次の操作の方法について説明します。

このスクリプトは、 <DENODO_HOME>/bin ディレクトリにあります。

このスクリプトは、以下のいずれかの終了コードを返します。

  • 0: エラーなし。ファイルのすべての VQL ステートメントは正常に実行されました。

  • 126: 1 つまたは複数の VQL ステートメントの実行が失敗しました。

  • 1: 他のエラー。たとえば、スクリプトで Virtual DataPort サーバーとのコネクションを開くことができませんでした。

1 つの VQL ファイルからのメタデータのインポート

1 つの VQL ファイルのメタデータを 1 つまたは複数のサーバーにインポートするには、次の構文を使用します。

import スクリプトの構文 (1 つの VQL ファイルからのインポート)
import --file <input filename>
     [ --properties-file <properties file name>]
     {  [ --server <server URI>
       |  --servers-file <servers file>
     }
     [ --singleuser ] [ --metadata-password <password>]

<server URI> =
host:port/database?user@password[&queryTimeout=value][&chunkTimeout=value][&chunkSize=value]
1 つの VQL ファイルからインポートする場合の import スクリプトのパラメーター

パラメーター名

説明

-h

-\-server <server URI>

サーバーの URI。

サーバーのパスワードを暗号化して指定できます。これを行うには、 encrypt_password スクリプトを実行して暗号化されたパスワードを取得し、 encrypted: を付加してパスワードとして指定します。

例: "//localhost:9999/a dmin?login@encrypted:Gr 16MjvuXhRzPtPH/yTXHw =="

このスクリプトを使用して長時間かかる可能性があるクエリを実行する場合、パラメーター queryTimeout を URI に追加して、クエリがタイムアウトしないようにします。次に例を示します。

"//localhost:9999/adm in?login@encrypted:Gr16 MjvuXhRzPtPH/yTXHw==&qu eryTimeout=11111"

このパラメーターの値は、オペレーティングシステムで 1 つのパラメーターとみなされるように、引用符で囲む必要があります。

パラメーター --server を複数指定することができます。その場合、メタデータは指定したすべてのサーバーにインポートされます。

-s

-\-servers-file <servers file>

パラメーター --server を使用する代わりに、Virtual DataPort サーバーの URI が記述されたファイルのパスを指定します。

<servers file> ファイルには、1 つまたは複数の URI が記述されている必要があります。各 URI は、パラメーター --server と同じ構文で 1 行に 1 つ記述されている必要があります。

-f

-\-file <input file>

インポートするメタデータを含むファイルのパス。

1 つのファイルからではなく、リポジトリからメタデータをインポートする場合、このパラメーターは意味が異なります。

-pf

-\-properties-file <properties file>

サーバーが実行されている環境に依存するパラメーターの値を含むプロパティファイルのパス。

このオプションは、export スクリプトの --property includeProperties オプションまたは Administration Tool の [Include properties file] を指定してメタデータをエクスポートした場合に使用します。

-su

-\-singleuser

指定されている場合、import スクリプトは、 ENTER SINGLE USER MODE ステートメントを実行してからファイルの VQL ステートメントを実行し、最後に EXIT SINGLE USER MODE を実行します。

これにより、Virtual DataPort は、このファイルをインポートする間、シングルユーザーモードに切り替わります。

: シングルユーザーモードで Virtual DataPort サーバーにメタデータをインポートすることが強く推奨されます。

-mp

-\-metadata-password <password>

指定したパスワードで機密値 (データソースのパスワードなど) を復号します。

インポートする VQL ファイルが以下のどちらかの方法で生成されている場合、このパラメーターは必須です。

  1. export スクリプトでパラメーター -\-metadata-password を使用

  2. Administration Tool で [Use custom password for sensitive data encryption] オプションを使用

このパラメーターを指定しない場合、機密パラメーター (ENCRYPTED でマークされているパラメーター) を含むコマンドは失敗します。

プレーンテキストでパスワードを入力するのを避けるため、暗号化したパスワードを指定することができます。これを行うには、 encrypt_password スクリプトを使用して暗号化したパスワードを取得し、その値に接頭辞 encrypted: を付加します。

例: -mp "encrypted:Gr16MjvuXhRzPtPH/yTXHw=="

例 1:

import --singleuser --file export.vql
       --server "localhost:9999/admin?admin@admin1"
       --server "host2:9099/admin?admin@admin2"

この例では、 export.vql ファイルのメタデータが 2 つのサーバーにインポートされます。

例 2:

import --singleuser -f export.vql -s servers.conf

この例では、 export.vql ファイルのメタデータがインポートされます。ターゲットサーバーの URI は servers.conf ファイルから読み取られます。

リポジトリからのメタデータのインポート

リポジトリのメタデータを 1 つまたは複数のサーバーにインポートするには、次の構文を使用します。

このスクリプトは、リポジトリのメタデータをサーバーにインポートする 代わりに 、リポジトリの VQL ステートメントがすべて含まれる単一のファイルを作成することもできます。これを行うには、 --file オプションを使用します。

注釈

サーバーのメタデータを VCS に保存してそこからインポートする場合、Virtual DataPort の VCS 統合を使用することが推奨されます (「 バージョン管理システムの統合 」を参照)。

import スクリプトの構文 (リポジトリからのインポート)
import --repository <path to repository>
     [ {   --element <path to element>
         | --repository-element <identifier path> } ]*
     [ --property <property name> = { yes | no } ]*
     {   --server <server URI> [--server <server URI>]*
       | --servers-file <servers file>
     }
     [ --file <output file> ] [ --singleuser ]
リポジトリからインポートする場合の import スクリプトのパラメーター

パラメーター名

説明

-r

-\-repository

リポジトリのディレクトリのパス。

-e

-\-element

インポートするエレメントのリポジトリ内でのパス。このオプションは、リポジトリの一部のエレメントのみをインポートする場合に使用します。

例: /databases/admin/view s/incidents.vql

エレメントとその依存関係をインポートする場合、 includeDependencies プロパティを追加します。

例: --property includeDep endencies=true

-re

-\-repository-element

リポジトリに保存されているエレメントの ID パス。

構文: database:type[:subtype]:[folderPath/]name

例: admin:view:/incidents.vql

使用可能なタイプは、 datasourceviewwebservicewidgetstoredprocedurefolder 、または database です。

サブタイプの値として、 customdfessbaseitpjdbcjsonldapodbcolapsalesforcesapbwbapisaperpws 、または xml を指定できます。

-h

-\-server <host>: <port>/<database> ?<user>@<password>

サーバーの URI。

暗号化されたパスワードを使用する場合、 encrypt_password スクリプトを使用して暗号化されたパスワードを取得します。

その場合、このパラメーターの値に接頭辞 encrypted: を付加する必要があります。

例:

//localhost:9999/admin?admin@encrypted:Gr16MjvuXhRzPtPH/yTXHw==

-s

-\-servers-file

パラメーター --server を使用する代わりに、メタデータをインポートするサーバーの URI が記述されているファイルのパスを指定できます。

各 URI は、パラメーター --server と同じ構文で 1 行に 1 つずつ記述されている必要があります。

-f

-\-file <input file>

インポートするメタデータを含む VQL ファイルのパス。

-su

-\-singleuser

指定されている場合、import スクリプトは、 ENTER SINGLE USER MODE ステートメントを実行してからファイルの VQL ステートメントを実行し、最後に EXIT SINGLE USER MODE を実行します。

これにより、Virtual DataPort は、このファイルをインポートする間、シングルユーザーモードに切り替わります。

: シングルユーザーモードで Virtual DataPort サーバーにメタデータをインポートすることが強く推奨されます。

-P

-\-property

インポートプロセスを制御する一連の設定。次の構文を使用して 1 つまたは複数のプロパティを指定できます。

<property name> = {yes | no}

使用可能なプロパティを、表「 Properties than can be passed to the import script (--property parameter): importing from a repository」に示します。

インポートプロセスを制御するプロパティ (-P--property) を以下に示します。

import スクリプトに渡すことができるプロパティ (--property parameter): リポジトリからのインポート

-\-property に指定可能な引数

説明

includeCreateDatabase

データベース全体をインポートする場合にのみ有効です。リポジトリ全体またはその一部のエレメントのみをインポートする場合は有効ではありません。

yes の場合、エクスポートされたデータベースを再作成してその構成を復元するステートメントが実行されます。次に例を示します。

DROP DATABASE IF EXISTS <exported db name>;
CREATE DATABASE <exported db name>
ALTER DATABASE <exported db name> CACHE OFF;

サーバーのすべてのメタデータをエクスポートする場合、出力にはすでに、データベースを作成するためのステートメントが含まれています。

デフォルト値: no

includeDependencies

yes の場合、パラメーター

--element または --repository-element で選択したエレメントがインポートされ、 さらにそれらの依存関係もインポートされます (jar、スキャナー、およびカスタムコンポーネントを除く)。

たとえば、このパラメーターの値が yes の場合に派生ビューをインポートすると、このビューを作成するために必要な基本ビューとデータソースもインポートされます。

デフォルト値: no

includeJars

yes の場合、サーバーからエクスポートされた jar ファイルがインポートされます。そうでない場合はインポートされません。

デフォルト値: no

includeEnvSpecificElements と includeNonEnvSpecificElements

これらのオプションは、以下のどちらかを実行する場合に一緒に使用する必要があります。

  • データソース、ユーザーとその権限、JMS リスナー、サーバー設定など、環境に依存するエレメントのみをインポートする。

  • ビュー、Web サービスなど、環境に依存しないエレメントのみをインポートする。

以下のようにオプションを設定した場合、環境に依存するエレメントのメタデータのみがインポートされます。

-P includeNonEnvSpecificElements=no

-P includeEnvSpecificElements=yes

以下のようにオプションを設定した場合、環境に依存しないエレメントのメタデータがインポートされます。

-P includeNonEnvSpecificElements=yes

-P includeEnvSpecificElements=no

環境に依存しているとみなされるエレメントと、依存していないとみなされるエレメントのリストについては、「 Exporting Environment-Dependent and Independent Elements to Different Files 」のセクションを参照してください。

: これらのオプションは非推奨であり、使用しないでください。代わりに includeProperties オプションを使用する必要があります。

includeDeployments

yes の場合、インポートする Web サービスのデプロイ状態がインポートされます。

デフォルト値: no

例 1

import --singleuser --repository "C:/repository"
  --server localhost:9999/admin?admin@admin
  --server acme:12999/testing?admin@encrypted:Gr16MjvuXhRzPtPH/yTXHw==

この例では、パス C:\repository にあるリポジトリの内容が、以下の 2 つの Virtual DataPort サーバーにインポートされます。

  1. localhost のポート 9999 で実行されているサーバー。 admin/admin の資格情報を使用します。

  2. ホスト acme で実行されているサーバー。パスワードは暗号化されています。

例 2:

import --singleuser --repository "C:/repository"
       --servers-file servers.conf

この例では、 servers.conf ファイルからターゲットサーバーの URI が読み取られて、それらのサーバーにリポジトリの内容がインポートされます。

例 3:

import --singleuser --repository "C:/repository" --file output.vql

この例では、リポジトリのすべての VQL ステートメントを含む output.vql ファイルが作成されます。このファイルが作成されるだけで、どのサーバーにも何もインポートされません。

例 4:

import --singleuser --repository "c:\repository" --file output.vql
       --element "databases\admin\folders\baseviews\views\bv_salesforce_lead.vql"
       --dependencies --server localhost:13999/admin?admin@admin

この例では、 databases\admin\folders\baseviews\views\bv_salesforce_lead.vql ファイルに含まれる VQL ステートメントが実行されます。

このファイルのパスは、パラメーター --repository で指定されているパスを基準にした相対パスです。

パラメーター --dependencies が追加されているため、まず bv_salesforce_lead.vql の依存関係が実行されます。このエレメントの依存関係を判断するために、 bv_salesforce_lead.dependencies ファイルが読み取られます。このファイルには、 bv_salesforce_lead.vql が依存するエレメントを作成するために処理する必要がある VQL ファイルが記述されています。