2

btrieve-Interface を介して pervasiveSQL データベースを使用するプロジェクトを継承しました。時間の経過とともに、データ ファイルの一部がコピーされてきました。btrieve は実際には ddf ファイルを必要としないようです。データ ファイルだけで十分なので、ddf ファイルが常にコピーされるわけではありません。時間が経つにつれて、一部のインストールで ddf ファイルとデータ ファイルが一致しない (つまり、ddf のデータ定義が実際のテーブル構造と一致しない) という問題が発生しました。これは、プログラムの実行中のバージョンでは問題ありませんが、データベース構造で何かを変更する必要がある場合、メンテナンスの問題になります。

そこで質問です。データ ファイルから ddf ファイルを再作成する方法/ツールはありますか? データファイルには構造情報があるように見えるので、それは可能だと思います。再作成された ddf によって実際のフィールド名とインデックス名が失われてもかまいません。

それが役立つ場合:テーブル間に定義された関係はありません(データには外部キーがありますが、データベースにはそれらについて通知されません). したがって、実際にはフィールドとインデックスの定義のみが必要です。

4

1 に答える 1

1

データ ファイルから DDF を再作成する汎用ツールはありません。DDF Builder を使用して、データ ファイルに基づいてテーブル定義を再作成できますが、レコード レイアウトを知る必要があります。

Btrieve データ ファイルには、フィールド構造情報は格納されません。DDF にはその情報があり、データ ファイルを生成するアプリケーションはその情報を保存しますが、データ ファイル自体にはフィールド情報は保存されません。Btrieve ファイルで関連する唯一のメタデータは、インデックス情報です。

私の提案は、最初にデータ ファイルに変更を加えてから DDF を更新するのではなく、CREATE TABLE / ALTER TABLE ステートメント (または DTI/DTO) を使用して DDF を介してデータ ファイルを維持することです。ALTER TABLE ステートメントを使用してテーブルを変更することにより、DDF とデータ ファイルは常に同期されます。

于 2012-10-16T13:16:07.693 に答える