|
このレッスンでは、テーブル定義で設定されているレコード長とは異なるレコード長を持つ Btrieve ファイルがあります。
このレッスンの目的は、DDF Builder でファイルを開き、DDF Builder によってこの定義になんらかの変更が行われるかどうかを確認することです。DDF Builder が実施する変更を調べ、レコード長の不一致を修正するために必要な変更について検討します。
ヒント
DDF Builder はレコード長の不一致を修正するための解決策を提示し、それらの変更を保存できるようにします。
このレッスンでは rec_length.MKD というファイルを使用します。このファイルは Tutorial2 フォルダー内にあります。デフォルトのインストール先にインストールしている場合、このフォルダーは次の場所にあります。
このフォルダーは Tutorial2 データベースの一部です。
メモ
このチュートリアルのデータにアクセスするためには、このデータベースを指し示す DSN(データ ソース名)が必要です。まだ DSN を作成していない場合は、データ ソース名(DSN)の作成を参照してください。
すぐ前のレッスンから引き続き作業していれば DDF Builder は起動しているはずです。終了していた場合は、DDF Builder を起動してください。
テーブル定義エディターでは、次のメッセージが表示されます。
このメッセージは、DDF Builder で既存のテーブル定義を分析したら、その定義に問題があったということを知らせています。この結果、DDF Builder で既存のテーブル定義を開いて表示するために、いくつか修正を行う必要がありました。
ヒント
発生する可能性がある定義エラーの詳細については、テーブル定義エラーを参照してください。
まずは DDF Builder インターフェイスで、元の定義と DDF Builder による変更後の定義との違いを確認し、報告されたエラーについても再調査します。
テーブル定義エディターのグリッド データ ビューでは、変更済みのテーブル定義が示されます。
メモ
DDF Builder が行った変更は自動的に保存されません。DDF Builder による修正は保存する必要があります。
DDF Builder では、変更または追加されたフィールドに対して不明な列インジケーターを追加し、注目すべき列であることを視覚的に示します。
ヒント
グリッド データ ビューにおける属性の詳細については、グリッド データ ビューでのフィールド属性を参照してください。
定義エラー ビューでは DDF Builder によって検出および変更された問題を表示します。
DDF Builder によって変更が行われる前の元のテーブル定義は、元の定義ビューで見ることができます。
定義エラー ビューでは以下のことを通知します。
定義エラーでは次の 1 つの問題を挙げています。
問題が発生した場所
|
DDF Builder で検出された問題
|
必要な対処
|
---|---|---|
列:フィールド6
|
DDFBLDR-6:テーブル定義内に未定義のバイトがあります。不明な列を追加しました。
|
DDF Builder が未定義のバイトを明らかにするために追加した不明な列を定義する必要があります。
|
DDF Builder によって報告されたエラーは、レコード長の不一致を示しています。
ヒント
[統計情報]タブをクリックすると、Btrieve ファイルの元のレコード長を調べることができます。
これは、レコードのすべてのバイトに当たるフィールドがテーブル定義に含まれていなかったことを意味します。 このようなバイトを明らかにするために、DDF Builder は新しい列を不明なデータ型として作成しました。
すべてのバイトを定義して明確に割り当て、Btrieve ファイルと正確に一致するテーブル定義を作成します。グリッド データ ビューの下部にある "フィールド6" の行を見てください。
レコード長が Btrieve ファイルとテーブル定義で一致するよう、不明なフィールドを定義することができます。
次に、テーブル定義エディターのグリッド データ ビューで、不明のフィールドを定義します。
テーブル定義は次のようになります。
テーブル定義は次のようになります。
これで不明なフィールドはすべて定義され、すべてのバイトは明確に割り当てられたので、テーブル定義を保存します。
行った変更を保存して適用できるようテーブル定義を保存します。
おめでとうございます。テーブル定義が保存され、レコード長の不一致が適切に修正されました。このレッスンでは、レコード長が異なる場合に DDF Builder でどのように処理されるかをご紹介しました。また、フィールドを定義する方法や、サイズを変更して列を分割したり、ファイルに対して有効なテーブル定義を作成する方法についても説明しました。
|