pvmdconv
Pervasive PSQL には pvmdconv という、メタデータ バージョン 1 からメタデータ バージョン 2 へ変換するための変換ユーティリティが付属しています。このコマンド ライン ユーティリティは、インストール ディレクトリの下の BIN ディレクトリにあります。
概要
pvmdconv -o <1 | 2> -d path_to_DDFs -n database_name [-v] [-ddf] [-s server_name] [-i server_login_name] [-c server_password] [-u database_user_name] [-p database_password] [-l log_file] [-<h | ?>]
パラメーター
-o <1 | 2> | メタデータの出力形式を指定します。選択肢は 1 または 2 で、それぞれバージョン 1(V1)とバージョン 2(V2)を表します。 メモ:pvmdconv の現在のリリースはメタデータ バージョン 2 からメタデータ バージョン 1 への DDF の変換をサポートしていません。 |
-d path_to_DDFs | 変換する DDF のある ディレクトリを指定します。新しい DDF は同じディレクトリに作成されます。 |
-n database_name | Pervasive PSQL データベースの名前を指定します。 |
[-v] | dbnames.cfg にデータベースのメタデータ バージョンを指定して変更します。たとえば、-o=2 と指定するとデータベースのメタデータ バージョンはメタデータ バージョン 2 に変更されます。"v" パラメーターを使用すると、pvmdconv は DDF のメタデータ バージョンを変更しません。 |
[-ddf] | DDF のメタデータ バージョンを指定します。このパラメーターを使用すると、pvmdconv は dbnames.cfg 内のデータベースのメタデータ バージョンを変更しません。 |
[-s server_name] | データベースが存在するリモート サーバーの名前または IP アドレスを指定します。このパラメーターは、実行中の pvmdconv ユーティリティが存在しているのとは別のマシンにデータベースが存在する場合に必要です。このパラメーターのデフォルトは "localhost" なので、pvmdconv とデータベースが同じマシンにある場合には不要です。 |
[-i server_login_name] | データベースが存在するリモート サーバーにログインするのに必要な名前を指定します。Server_login_name は、オペレーティング システムによって管理される名前です。 |
[-c server_password] | server_login_name のパスワードを指定します。Server_password はオペレーティング システムが管理するパスワードです。 |
[-u database_user_name] | データベースにログオンする権限を与えられているユーザーの名前を指定します。 |
[-p database_password] | database_user_name に関連付けられているパスワードを指定します。 |
[-l log_file] | 診断メッセージをテキスト ファイルに出力します。テキスト ファイルの名前と場所は、log_file で指定します。このパラメーターを省略すると、診断メッセージは画面に表示されます。 |
[-<h | ?>] | ユーティリティの使用法を画面に表示します。 |
説明
Pvmdconv を使用すると、以下の動作を実行することができます。
•あるバージョンのメタデータの DDF のみを別のバージョンのメタデータに変換します。DDF が属していたデータベースの分類はそのまま残ります。つまり、dbnames.cfg という名前の特別なファイルに格納されているデータベースのメタデータ プロパティは変更されません。この動作を DDF の「移行」と呼ぶことがあります。
•データベースのメタデータ バージョンを メタデータ バージョン 1 または メタデータ バージョン 2 に設定します。dbnames.cfg という名前の特別なファイルに格納されているデータベースのメタデータ プロパティが変更されます。データベースの DDF のメタデータ バージョンは保持されます。
この動作には、各メタデータ バージョンの DDF が path_to_ddfs に存在している必要があります。つまり、あらかじめ メタデータ バージョン 1 から メタデータ バージョン 2 へ DDF を変換(移行)済みである必要があります。
•DDF を変換して、dbnames.cfg にデータベースのメタデータ プロパティを設定します。 つまり、最初の 2 つの動作を結合します。これは、pvmdconv のデフォルトの動作です。
別の変換動作を行うと、メタデータ変換をより細かく制御することができます。たとえば、最初の方法を選択し、DDF のみを変換してエラーをチェックすることができます。エラーが発生しなかったら、dbnames.cfg のメタデータ バージョンを更新します。
メタデータ バージョン 1(V1)から バージョン 2(V2) への変換
V1 DDF のデータは、以下の例外を除き、すべて V2 DDF に直接コピーされます。
システム テーブル | フィールドへの動作 | 解説 |
X$View | Xv$Id の値は pvview.ddf の Xv$Sequence にコピーされます。 | Xv$Sequence には行ごとに 1 ずつ増加する値が含まれています。 |
メタデータ バージョン 2 の新しい列である Xv$Trustee の値には、明示的に -1 が格納されます。 | この値には、データベースのセキュリティ設定にかかわらず -1 が格納されます。つまり、データベースがセキュリティで保護されている場合と保護されていない場合です。 メタデータ バージョン 1 データベースがセキュリティで保護されている場合、データベースが メタデータ バージョン 2 に変換されるときに、すべてのビューについて明示的に "GRANT ALL TO PUBLIC" が呼び出されます。 |
X$Proc | Xp$Id の値は pvproc.ddf の Xp$Sequence にコピーされます。 | Xp$Sequence には行ごとに 1 ずつ増加する値が含まれています。 |
メタデータ バージョン 2 の新しい列である Xp$Trustee の値には、明示的に -1 が格納されます。 | この値には、データベースのセキュリティ設定にかかわらず -1 が格納されます。つまり、データベースがセキュリティで保護されている場合と保護されていない場合、値には -1 が格納されます。 メタデータ バージョン 1 データベースがセキュリティで保護されている場合、データベースが メタデータ バージョン 2 に変換されるときに、すべてのストアド プロシージャについて明示的に "GRANT ALL TO PUBLIC" が呼び出されます。 |
X$Rights | Xr$Table の値は pvrights.ddf の Xr$Object にコピーされます。 | |
デフォルト値の 1 が pvrights.ddf の Xr$Type にコピーされます。 | |
メタデータ バージョン 2(V2)からバージョン 1(V1)への変換
pvmdconv の現在のリリースは、メタデータ バージョン 2 から 1の変換をサポートしていません。
例
Pervasive PSQL ファイルのデフォルトの保存場所については、『
Getting Started with Pervasive PSQL』の
Pervasive PSQL ファイルはどこにインストールされますか?を参照してください。
デフォルトの変換
サンプル データベースの DEMODATA をメタデータ バージョン 2 に変換するには、次のようにします(Windows プラットフォームでデフォルトのインストールが行われていると仮定します)。
pvmdconv -o 2 -d file_path\PSQL\Demodata\ -n demodata
この例では、次のような結果になります。
•メタデータ バージョン 2 DDF はメタデータ バージョン 1 DDF と同じ場所(file_path\PSQL\Demodata\)に作成されます。
•dbnames.cfg 内の DEMODATA のメタデータ バージョンは、メタデータ バージョン 2 に変更されます。
同じ変換を実行して、変換の診断情報のログを取得するには、次のように記述します。
pvmdconv -o 2 -d file_path\PSQL\Demodata\ -n demodata ‑l file_path\PSQL\Demodata\\pvmdconv_log.txt
DDF のみの変換
サンプル データベース DEMODATA の DDF のみをメタデータ バージョン 2 に変換するには、次のようにします(Windows プラットフォームでデフォルトのインストールが行われていると仮定します)。
pvmdconv -o 2 -d file_path\PSQL\Demodata\ -n demodata -DDF
この例では、次のような結果になります。
•メタデータ バージョン 2 DDF はメタデータ バージョン 1 DDF と同じ場所(file_path\PSQL\Demodata\)に作成されます。
•dbnames.cfg 内の DEMODATA のメタデータ バージョンは変更されません。
データベースのメタデータ バージョンの変更
サンプル データベース DEMODATA のメタデータ バージョンをメタデータ バージョン 2 に変換するには、次のようにします(Windows プラットフォームでデフォルトのインストールが行われていると仮定します)。
pvmdconv -o 2 -d file_path\PSQL\Demodata\ -n demodata -v
この例では、次のような結果になります。
•dbnames.cfg 内の DEMODATA のメタデータ バージョンは、メタデータ バージョン 2 に変更されます。
•メタデータ バージョン 2 DDF は作成されません。
メモ:この例では、DEMODATA の DDF が変換の影響を受けないとしても file_path\PSQL\Demodata\ に存在する必要があります。
リモート サーバーでの変換の実行
サンプル データベースの DEMODATA を次の条件でメタデータ バージョン 2 に変換するには以下のようにします。
•DEMODATA は "TESTSERVER" という名前のサーバーにある
•TESTSERVER の 管理者 ID は "adminuser" で、ユーザー adminuser のパスワードは "admin99user"
•ドライブ "Z" は TESTSERVER のドライブ "C" にマップされている(TESTSERVER は Windows プラットフォームで Pervasive PSQL のデフォルトのインストールが行われているものとします)
pvmdconv -o 2 -d z:file_path\PSQL\Demodata\-n demodata -s TESTSERVER -i adminuser -c admin99user
この例では、次のような結果になります。
•メタデータ バージョン 2 DDF は TESTSERVER のメタデータ バージョン 1 DDF と同じ場所に作成されます。
•TESTSERVER 上の dbnames.cfg 内の DEMODATA のメタデータ バージョンは、メタデータ バージョン 2 に変更されます。