|
このレッスンでは、既存のテーブル定義セットを持つ 1 つのデータベースがあります。このテーブル定義は旧バージョンの Pervasive.SQL で作成されたもので、今回リリースされた DDF Builder でサポートされる Pervasive PSQL とはもう互換性がありません。
注意
DDF Builder ではバージョン 4.xx の DDF をサポートしますが、Scalable SQL バージョン 4.xx より前に作成された DDF はサポートしません。
このレッスンの目的は、DDF Builder でその DDF を開くことです。このチュートリアルでは、DDF Builder でこれらのファイルがどのように処理されるかを説明し、またそのファイルを DDF Builder と互換性を持つファイルへ変換できるようにする解決策を提供します。
このレッスンで使用するファイルは V3 という名前のフォルダーにあります。デフォルトのインストール先にインストールしている場合、このフォルダーは次の場所にあります。
作業を続ける前に、このデータベース用の DSN を作成する必要があります。
メモ
DSN の作成について情報が必要な場合は、データ ソース名(DSN)の作成を参照してください。
DDF Builder をまだ実行していない場合は起動します。
本来、これらのファイルは、現在ではサポートされていないバージョンの製品で作成されているため開くことができません。
DDF Builder では Scalable SQL v3.00 のデータ辞書ファイルを開くことができません。これはその時点(Scalable SQL 3.01)で使用されていたフォーマットが現在サポートされていないからです。
ヒント
DDF Builder は Pervasive PSQL v9.x 以上のバージョンでサポートされます。Scalable SQL v4.00 以上で作成された DDF は Btrieve データ ファイル v6.x 以上と一緒にサポートされます。
古い DDF がある場合はそれらを新しいフォーマットに変換する必要があります。以下の手順を使用します。
上記の手順は、シンプルなデータ ファイルに対する最も基本的な作業です。まずはこの手順を試して変換の結果を調べてください。
以下の 2 つの状況がある場合は、さらに作業が必要です。
テーブルの列がオルタネート コレーティング シーケンス(ACS)を使用する場合、CREATE TABLE ステートメントを手動で変更する必要があります。 PCC ではテーブル スキーマをエクスポートするときに ACS を含めません。
列が ACS を使用しているかどうかを調べるには、DDF Builder でテーブルの一貫性を確認します(テーブルの一貫性のチェックを参照)。属性と物理キーファイル セグメントが一致しないというメッセージが通知された場合、その列は ACS を使用しています。
次の例は変更済みの CREATE TABLE ステートメントで、コレーティングが手動で追加されています。
SET TRUENULLCREATE = OFF; CREATE TABLE "PATAPP" IN DICTIONARY USING 'PATAPP.DTA' ( "ID" CHAR(6) NOT NULL COLLATE 'UPPER.alt', "Appointment Date" DATE NOT NULL, "Appointment Time" TIME NOT NULL, "AMPM" CHAR(4) NOT NULL COLLATE 'UPPER.alt', "Doctor" CHAR(12) NOT NULL, "Code" CHAR(3) NOT NULL COLLATE 'UPPER.alt', "Amount Paid" MONEY(14,2) NOT NULL, "Date Paid" DATE NOT NULL); CREATE INDEX "index_0" IN DICTIONARY ON "PATAPP" ( "Appointment Date" , "AMPM" , "Appointment Time" ); CREATE INDEX "index_1" IN DICTIONARY ON "PATAPP" ( "ID" ); CREATE INDEX "index_2" IN DICTIONARY ON "PATAPP" ( "Code" ); SET TRUENULLCREATE = ON;
また、インデックスの順序がテーブルに対して正しくない場合は、CREATE INDEX ステートメントを並び替えて正しい順序でインデックス セグメントを置く必要があります。
テーブル定義によっては、解決が困難なため PCC と DDF Builder の両方を使用する必要がある場合もあります。列が DDF Builder で "不明" と示された場合は、PCC の Table Editor でその列が含まれるテーブルを表示し、DDF Builder 側でその列を同様に定義する必要があります。両方のユーティリティを用いて作業することにより、テーブル定義を完了させることができます。
このレッスンでは、DDF Builder で Scalable SQL v3.01 の DDF がどのように処理されるかをご紹介し、またそれら DDF を本ソフトウェアの現行バージョンで作業できるように変換するための解決策も提供しました。
また、Scalable SQL v3.01 の DDF で作成されたデータベースには、v6.x より前のファイル形式の Btrieve データ ファイルが含まれている可能性があるので、それらのファイルも DDF Builder を使用する前にリビルドしておく必要があることも学習しました。
|