  目次

はじめに

第１章　序論とインスト－ル

 1.1. dbMAGIC Btrieveデータベースゲートウェイ

 1.2. 今回のバージョンで新しくなった点

第２章　起動方法

第３章　dbMAGICのデ－タ記憶型式

 3.1. 記憶型式とサイズのパラメ－タ

 3.2. 記憶型式一覧

 3.3. 記憶型式

 3.4. ファイルのキ－操作とデ－タ記憶型式

第４章　Btrieveのデ－タ記憶型式と技術情報

   4.1. Btrieveのキーおよび記憶型式

   4.2. Btrieveの技術情報

付録Ａ　Btrieve のエラーメッセージ

 A.1. 実行時のエラ－メッセ－ジ

付録Ｂ　Btrieveのユーティリティ

 B.1. MicroKernelワークステーションエンジン

 B.2. Btrieveファイルマネージャコマンドラインユーティリティ

 B.3. Btrieveロールフォワードユーティリティ


  はじめに

本マニュアルでWindowsは、Windows NTまたは Windows 95を意味しています。

また、Btrieve は、Btrieve for Windows NT／Windows 95 の バージョン6.15 を意味しています。

【ご注意】

（1)	 本マニュアルの一部または全部を、無断で転載することは固くお断りします。

（2)	 本マニュアルの内容は、将来予告なしに変更することがあります。

 (3) 本マニュアルの内容については万全を期しておりますが、万一誤り、お気付きの点などがございましたら、ご連絡くださいますようお願い致します。

連絡先：MAGIC事業部	TEL(03)3985-8033

（4)	 運用した結果の影響につきましては、（3)項にかかわらず責任を負いかねますのでご了承ください。

Btrieveは米国 Btrieve Technologies Inc.の登録商標です。

dbMAGICは株式会社ワコムの商標です。

一般に会社名、製品名は、会社の商標または登録商標です。

Copyright 1996 WACOM CO.,ltd.


  第１章  序論とインストール

1.1 dbMAGIC Btrieveデータベースゲートウェイ

1.2 今回のバージョンで新しくなった点


  1.1. dbMAGIC Btrieveデータベースゲートウェイ

Btrieve に使用するdbMAGIC Btrieveデータベースゲートウェイは、dbMAGIC v7.0に付属し、Windows上で動作するBtrieveデータベース用アプリケーションの開発に必要です。

WindowsプラットフォームにdbMAGIC v7.0をインストールする場合、クライアントベースのBtrieveおよびBtrieveのユーティリティをインストールすることができます。また、そのとき、レジストリにBtrieveの設定内容が保存されます。

 (1) dbMAGIC Btrieveデータベースゲートウェイ

 dbMAGIC Btrieveデータベースゲートウェイは以下のような実行モジュールを提供します。

 (2) Btrieveプログラムグループ

 このBtrieveプログラムグループは次のような Btrieveプログラムやユーティリティを含んでいます。

   MicroKernelワークステーションエンジン

   MicroKernelセットアップ

   Btrieveファイルマネージャコマンドラインユーティリティ(BUTIL.EXE)

   Btrieveロールフォワードユーティリティ

これらのユーティリティは  Btrieve Technologies Database  というプログラムグループ名でインストールされます。これらのユーティリティの使用方法は本書の付録Ｂをご覧ください。


MicroKernelワークステーションエンジン

これは、 dbMAGIC Btrieveデータベースゲートウェイを通じて使用される Btrieveエンジンです。


 MicroKernelセットアップ

Btrieveパラメータを設定する為のユーティリティです。


Btrieveロールフォワードユーティリティ

これは、最後のバックアップを行ってからシステム異常が発生するまでの、ファイルに対する変更を復旧する為に使用されます。

旧バーションBtrieveと復旧方法が異なっていますので、本書の付録ＢのB.3.を参照してからご利用ください。


  1.2.今回のバージョンで新しくなった点

dbMAGIC v7.0用のBtrieveデータベースゲートウェイの今回のバージョンには、次のような機能が付加されています。

(1) Extended オペレーション

dbMAGIC Btrieveデータベースゲートウェイは Btrieveの Extended オペレーションを利用して、次のような点を改善しました：

■  dbMAGICの範囲指定／位置付け

項目の選択を行って範囲指定／位置付け操作の定義がなされる時、それらは、 dbMAGICによって実行されるのではなく、Btrieveエンジンそれ自体によって実行されます。この機能は、特にクライアント／サーバシステムでパフォーマンスを向上させます。

最適なパフォーマンスを得るためには、可能な限り常に、項目選択時に範囲指定／位置付けを使用してください。

ただし、［タスク制御］ダイアログの［範囲式］および［位置付式］は、dbMAGICによって実行されます。

■ バッファリング

dbMAGICがレコードを要求する時、 ゲートウェイは１回のフェッチにつき２つ以上のレコードをフェッチできます。全てのレコードはゲートウェイのバッファに記憶されます。dbMAGICによって要求された次のレコードは、バッファから提供されます。この機能は、ネットワークのトラフィックを軽減し、大いにパフォーマンスを高めます。

■ 項目フェッチング

バッファリングが可能であれば、ゲートウェイはレコード全てをフェッチするのではなく、選択された項目のみフェッチします。

デフォルト設定で、Extended オペレーションが使用できます。Extended オペレーションを使用しない場合には、次のように指定してください。

 ◇ ［DBMS］テーブルのBtrieveパラメータに  /EXTENDED=N  を追加設定することで、全ての Extended オペレーションが無効になります。

 ◇  選択したデータベースの［データベース特性］ダイアログの［データベース情報］欄に  /BUFFERING=N  を追加設定することで、バッファリングが無効になります。

(2) 自動ページサイズ

dbMAGIC Btrieveデータベースゲートウェイは、ファイル定義にしたがって最適なページサイズを計算し使用します。

明示的にページサイズを指定するには、選択したデータベースの［データベース特性］ダイアログの［データベース情報］欄に  /PAGESIZE=nnnn  を追加設定します。nnnnには、512バイトの倍数で、かつ、4096バイトを超えない数を設定してください。また、nnnnに設定する数値は、Btrieveの仕様に合致したものである必要があります。

(3) BLOBデータ型

dbMAGIC BtrieveデータベースゲートウェイはBLOBデータ型をサポートします。BLOBデータ型を使用する時は、MicroKernelセットアップの通信バッファサイズパラメータが可能な限り大きな値に設定されているか、また、最低8Kに設定されているかを確認してください。

BLOB項目は一つのファイルにただ一つだけ設定できます。BLOB項目とメモ項目を同じファイルに同時に定義することはできません。

(4) Btrieveデータベースゲートウェイのログファイル

Btrieveデータベースゲートウェイのログファイルを作成するには、［DBMS］テーブルのBtrieveエントリの［パラメータ］欄に  /LOGFILE=<filename> <sync>  を追加設定してください。

なお、この設定を行なった場合、パフォーマンスに影響を与えますので必要なときだけ設定してください。

－  <filename>には、ログファイルの名前をパスと共に設定します。デフォルトのパスは dbMAGIC のカレントディレクトリです。デフォルトのファイル名はMGBTRV.LOGです。このパラメータはオプションです。

 注意 ：ログファイル名は、セッションごとに設定されるユーザ名（user）とプロセスＩＤ（pid）が自動的にファイル名に付加されます。例えば、<filename> = BTR.LOGの場合、実際のファイル名はBTR.user.pid.LOGとなります。

－  <sync>には、YかNを設定します。Y（デフォルト）を設定すると、ログを書き込む度にログファイルのクローズと再オープンを行います。Nを設定すると、ログファイルは dbMAGICが終了する時に一回だけクローズされます。

このパラメータはオプションです。

ログファイルには次のような情報が含まれます：

■ Btrieve APIコールとリターンコード

■ ファイルのオープン／クローズ

(5) 並行処理制御

dbMAGIC v7.0の並行処理制御が変わりました。Btrieveエンジンの並行処理制御は常に使用され、データの整合性を保証します。

これにより、dbMAGICとdbMAGIC以外のアプリケーションは、同一ファイルに同時にアクセスできかつ、ロック制御も正しく行われるようになります。

［データベース特性］ダイアログの［dbMAGICレコードロック］パラメータは、dbMAGIC v7.0より前のバージョンのアプリケーションとの互換性を必要とする場合だけ、「Yes」に設定してください。


Btrieveファイルマネージャコマンドラインユーティリティ(BUTIL.EXE)


Btrieve ファイルマネージャコマンドユーティリティ（BUTIL.EXE）
Btrieve ファイルマネージャコマンドラインユーティリティ（BUTIL.EXE）

dbMAGICとは別に、コマンドラインからBtrieveファイルを作成したり、処理したり、復旧したりする為のユーティリティです。


いらない

(新規ﾄﾋﾟｯｸのﾃｷｽﾄを入力してください)

このﾌｧｲﾙはﾌﾟﾛｼﾞｪｸﾄの新規 2 次文書です。

新規ﾍﾙﾌﾟ ﾄﾋﾟｯｸを追加するには [ﾄﾋﾟｯｸ] ﾎﾞﾀﾝをｸﾘｯｸしてください。


  第２章　起動方法

Btrieveで作成されたデータファイルにアクセスするか、dbMAGICアプリケーションから新しいBtrieveファイルを作成する時は、dbMAGICで次の手順に従ってください。

1	 データベースマネージャとしてBtrieveだけを使用する場合には、［設定］メニューの中の［動作環境］で［デフォルトデータベース］パラメータを「Btrieve」に設定しておきます。複数のデータベースマネージャを使用する場合は、［設定／動作環境］の［デフォルトデータベース］と［ソート／一時用データベース］パラメータに希望するデータベースマネージャをデフォルトとして設定してください（手順４および「dbMAGICリファレンスマニュアル」の第16章「設定」参照）。

2.［データベース特性］ダイアログで、［dbMAGICレコードロック］パラメータを使用し、 dbMAGICの並行処理制御を起動するかどうか定義します。［dbMAGICレコードロック］は、dbMAGIC v7.0より前のバージョンのアプリケーションとの互換性を必要とする場合だけ、「Yes」に設定してください。データ全体は、 このパラメータの設定にかかわらずBtrieveの並行処理制御サービスを使用して保全されます。

3.	 dbMAGICアプリケーションをBtrieveファイルに保存する場合、［設定／アプリケーション］を選択します。［アプリケーション］テーブルで、［DBMS］欄を「Btrieve」に設定します。さらに、［データベース］欄にBtrieveベースのデータベースを設定します。

4.［ソート／一時データベース］にBtrieveを使用する場合、ソートファイルや一時ファイルは、一時ファイル名で作成されます。ソートファイルや一時ファイルが置かれる位置は、［一時ファイルパス］の設定に従います（「dbMAGICリファレンスマニュアル」の第16章「設定」参照）。

5.	データファイルをBtrieveファイルとして宣言するには、［開発／ファイル辞書］を選択した後［ファイル辞書］テーブルの［DBMS］欄を「Btrieve」に設定し、［データベース］欄をBtrieveベースのデータベースに設定します。

6.［ファイル辞書］にファイル名を設定するか、［アプリケーション］テーブルにアプリケーション識別子を設定する場合、dbMAGICが設定するデフォルトのBtrieveファイル名を変更することができます。

7	 Btrieveファイルに項目を作成するとき、各項目に適するBtrieve記憶型式が使用されます。記憶型式を変更したいときは、［ファイル辞書］テーブルの各項目で［項目特性］ダイアログを表示し、［記憶型式］パラメータに希望する記憶型式を設定します。


  第３章　dbMAGICのデータ記憶型式

データ項目の型によって、データ項目に入れられる情報の性質を指定します。

dbMAGIC でサポートされている型は、文字型、数値型、論理型、日付型、時刻型、メモ型、および BLOB型です。型についての詳細は「dbMAGICリファレンスマニュアル」の第３章「データ項目」を参照してください。

ただし、データ項目の実際のマシン表現は［項目特性］ダイアログの各パラメータで指定されます（同書第３章「データ項目」で説明）。

データ記憶型式に関連する［項目特性］ダイアログのパラメータは次のとおりです。

－　記憶型式

－　サイズ

－　データベース定義

この節ではこれらのパラメータについて説明します。

データファイルを定義するときは、dbMAGIC がどのデータベースゲートウェイを使用しなければならないかを、［ファイル辞書］テーブルの［データベース］欄で指定します。項目をその型とその表示形式を指定することによって定義すると、dbMAGIC は個々のデータベースゲートウェイで決まっている規則に従って自動的に項目に、デフォルトの記憶型式をそれぞれの長さとともに対応付けます。

dbMAGIC 以外のアプリケーションまたは様々なデータベースゲートウェイを利用するdbMAGIC のアプリケーションとデータファイルを共有したい場合、このデフォルト値を変更して項目表現をこれらのアプリケーションで使用される種々の項目表現と互換性のあるものにしなければならない場合があります。この場合、関連項目の［項目特性］ダイアログで必要に応じてデータ記憶型式を指定します。

3.1.記憶型式とサイズのパラメータ

3.2.記憶型式一覧

3.3.記憶型式

3.4.ファイルのキー操作とデータ記憶型式


  3.1.記憶型式とサイズのパラメータ

［項目特性］ダイアログの［記憶型式］と［サイズ］の各パラメータのデフォルト値として表示される値は、項目の型と表示形式に従ってdbMAGIC で自動的に定義されたものです。［サイズ］パラメータの値は修正できます。［文法チェック］ユーティリティが、Btrieveで不正なサイズ値があれば見つけてくれます。

それぞれの記憶型式を変更すると、dbMAGIC は必要に応じてサイズ値を変更します。たとえば文字型項目を記憶型式［String］から［LString］に変更すると、サイズは１バイト大きくなります。


  3.2.記憶型式一覧

この節ではまず、dbMAGIC でサポートされている記憶型式の全部について項目型で分類したリストを示します。各記憶型式の内容についてはこのリストのあとで説明します。

－　文字型記憶型式（3）：

－　数値型記憶型式（12）：

－　論理型記憶型式（2）：

－　日付型記憶型式（6）：

－　時刻型記憶型式（4）：

－　メモ型記憶型式（2）：

－　BLOB型記憶型式（1）：


文字型記憶型式（3）

・　文字列（String）

・　Ｌ文字列（LString）

・　Ｚ文字列（ZString）


数値型記憶型式（12）

・　符号付き整数（Signed Integer）

・　符号なし整数（Unsigned Integer）

・　浮動小数点（Float）

・　MS-Basic浮動小数点（Float  MS-Basic）

・　浮動10進数（Float Decimal）

・　パック10進数（Packed Decimal）

・　数値（Numeric）

・　文字数字（Character Number）

・　文字列数字（String Number）

・　dbMAGIC 数字（Magic Number）

・　C-ISAM  10進数（C-ISAM Decimal）

・　拡張浮動小数点（Extended Float）


論理型記憶型式（2）

・　論理整数値（Integer Logical）

・　論理文字列（String Logical）


日付型記憶型式（6）

・　日付整数（Integer Date）

・　日付整数－1901（Integer Date-1901）

・　日付文字列（String Date）

・　YYMD日付（YYMD Date）

・　dbMAGIC 日付（Magic Date）

・　dbMAGIC 日付－1901（Magic Date-1901）


時刻型記憶型式（4）

・　時間整数値（Integer Time）

・　時間文字列（String Time）

・　HMSH時間（HMSH Time）

・　dbMAGIC 時間（ Magic Time ）


メモ型記憶型式（2）

・　メモ文字列（String Memo）

・　dbMAGIC メモ（Magic Memo）


BLOB型記憶型式（1）

・ バイナリモジュール（Binary Large Object）


  3.3.記憶型式

以下の説明では、記憶型式名の後に角カッコ［...］でBtrieveの定義を示します。たとえば、次のようになります。

文字列（String）［STRING］

Btrieveの定義に無い記憶型式は、そのタイプのために与えられた定義に従って dbMAGICによって内部に保管される。

3.3.1.文字型記憶型式について

以下の型は文字列を表わします。

 (1)文字列  （String） ［STRING］

 (2)Ｌ文字列（LString）［LSTRING］

 (3)Ｚ文字列（ZString）［ZSTRING］

3.3.2.数値型記憶型式について

数値型記憶型式は計算で通常使用される数値を表わします。

1. dbMAGICでサポートされる最大桁数（整数桁＋小数桁）は18です。

2. 注意：dbMAGIC は記憶型式が19桁以上ある非dbMAGIC ファイルの数値型項目はどれも切り捨てます。

3. デフォルト以外の数値型記憶型式はほかのシステムと互換性をもたせる時にだけ使用してください。

「Signed Integer」、「Unsigned Integer」、「Float」、「Float MS-Basic」の数値型記憶型式の場合は、記載された桁数以上の数字を受け付けることができます。この場合、必ずしも全部の値が表現されない可能性もあり、記憶された値が間違っていることもあります。

 (1) 符号付き整数（Signed Integer）［INTEGER］

 (2) 符号なし整数（Unsigned Integer）［UNSIGNED BINARY］

 (3) 浮動小数点（Float）［FLOAT］

 (4) MS-Basic浮動小数点（Float MS-Basic）［BFLOAT］

 (5) 浮動10進数（Float Decimal）［STRING］

 (6) パック10進数（Packed Decimal）［DECIMAL］

 (7) 数値（Numeric）［NUMERIC］

 (8) 文字数字（Character Number）［STRING］

 (9) 文字列数字（String Number）［STRING］

(10) dbMAGIC 数字（Magic Number）［STRING］

(11) C-ISAM  10進数（C-ISAM Decimal）［STRING］

(12) 拡張浮動小数点（Extended Float）［STRING］

3.3.3.論理型記憶型式について

 (1) 論理整数値（Integer Logical）［STRING］/［UNSIGNED BINARY］

 (2）論理文字列（String Logical）［STRING］

3.3.4.日付型記憶型式について

(1) 日付整数（Integer Date）［INTEGER］

(2) 日付整数－1901（Integer Date - 1901）［INTEGER］

(3) 日付文字列（String Date）［STRING］

(4) YYMD日付（YYMD Date）［DATE］

(5) dbMAGIC 日付（Magic Date）［STRING］

(6) dbMAGIC 日付－1901（Magic Date - 1901）［STRING］

3.3.5.時刻型記憶型式について

(1) 整数時間（Integer Time）［INTEGER］

(2) 文字列時間（String Time）［STRING］

(3) HMSH時間（HMSH Time）［TIME］

(4) dbMAGIC 時間（Magic Time）［STRING］

3.3.6.メモ型記憶型式について

(1) 文字列メモ（String Memo）

(2) dbMAGIC メモ（Magic Memo）

3.3.7.BLOB型記憶型式について

(1) バイナリモジュール（Binary Large Object）

3.3.8.［データベース定義］パラメータ

dbMAGIC は種々のデータベースおよびプログラミング言語のデータ記憶型式をサポートします。そのため特定のデータベースでは、dbMAGIC でサポートされているデータ記憶型式のいくつかについてサポートしていない場合もあります。しかし、dbMAGIC のサポートするデータ記憶型式はどれでも、dbMAGIC によって認識されるDBMSであればどれででも使用できます。

この機能を実現するためにdbMAGIC は正しいデータ記憶型式に従って構築されたデータ項目のメモリイメージを文字列として記憶します。この機構は［データベース定義］パラメータの設定によって制御します。［データベース定義］パラメータに入力可能な値は「Ｎ＝標準」または「Ｓ＝文字列」です。

－「Ｎ＝標準」は、動作しているDBMSが本来のデータ記憶型式でデータ項目を受け取ることを意味します。

－「Ｓ＝文字列」は、dbMAGIC が動作しているDBMSに対して項目は文字列であることを伝えることを意味します。

注意： dbMAGIC は、［データベース定義］パラメータのデフォルトの値をデータファイルで選択されたデータベースゲートウェイと要求されるデータ記憶型式に従って設定します。本来のデータ記憶型式を使用する時は、値は「Ｎ＝標準」から「Ｓ＝文字列」に修正できます。dbMAGICのデータ記憶型式を使用する時は、［データベース定義］パラメータの値は「Ｓ＝文字列」であり、修正できません。


文字列（String）［STRING］

a)サイズ

１バイトから各ゲートウェイによってサポートされている最大文字列長まで。

文字列はdbMAGICの文字型項目のデフォルトの記憶型式です。

dbMAGIC は文字の並びを左から右に順に記憶します。文字はそれぞれ１バイトを占めます。


Ｌ文字列（LString）［LSTRING］

a)サイズ

－　１から255 バイト。

－　「LString」はPascalの文字列定義に相当し、１バイト目に文字列のバイト単位の長さが含まれます。

－　［記憶型式］を「String」から「LString」に変更すると、［サイズ］の値が１バイト増えます。

－　［記憶型式］を「LString」から「String」に変更すると、［サイズ］の値が１バイト減ります。


Ｚ文字列（ZString）［ZSTRING］

a)サイズ

－　１バイトから各データベースゲートウェイによってサポートされている最大文字列長まで。

－    ZString」はＣ言語の文字列定義に相当し、最後のバイトには２進値のゼロ（ヌル）が含まれて文字列の終わりを示します。

－　［記憶型式］を「String」から「ZString」に変更すると、［サイズ］の値が１バイト増えます。

－　［記憶型式］を「ZString」から「String」に変更すると、［サイズ］の値が１バイト減ります。


符号付き整数（Signed Integer）［INTEGER］

a)説明

－   ９桁までの符号付き（＋／－）整数に使用されます。

b)サイズ

－   それぞれ２、４または９桁まで記憶する時、１、２または４バイト。

－  「Signed Integer」の実際のマシン表記はそれぞれのハードウェアに依存します。詳細については個々のコンピュータの説明書を参照してください。


符号なし整数（Unsigned Integer）［UNSIGNED BINARY］

a)説明

－   「Unsigned Integer」は９桁までの正の整数だけを記憶する時に使用されます。

b)サイズ

－   それぞれ２、４、または９桁まで記憶する時、１、２、または４バイト。

－　「Unsigned Integer」の実際のマシン表記はそれぞれのハードウェアに依存します。詳細については個々のコンピュータの説明書を参照してください。


浮動小数点（Float）［FLOAT］

a)説明

－　整数部と小数部で16桁まで記憶する時に使用されるIEEE浮動小数点型。

b)サイズ

－　それぞれ６または15桁まで記憶する時、４または８バイト。

－　実際のマシン表記はそれぞれのハードウェアに依存します。

詳細については個々のコンピュータの説明書を参照してください。


MS-Basic浮動小数点（Float MS-Basic）［BFLOAT］

a)サイズ

－　それぞれ６または16桁まで記憶する時、４または８バイト。

－　これはMicrosoft Basic コンパイラによって使用される単精度および倍精度の浮動小数点です。


浮動10進数（Float Decimal）［STRING］

a)サイズ

－　それぞれ６または14桁まで記憶する時、４または８バイト。

－　これはMS-Pascal Decimal Float ライブラリのREAL4 およびREAL8 データ型と互換性のある単精度および倍精度の浮動小数点です。


パック10進数（Packed Decimal）［DECIMAL］

a)説明

－  バイトあたり２桁のパック10進数型で、右端のバイトの後半分に符号があります（正の場合16進値のＦまたはＣ、負の場合16進値のＤ）。

b)サイズ

－  １から10バイト。

c)その他

－　「Packed Decimal」はANSI-74標準COBOLのCOMP-3データ型と互換性があります。

－　所定のサイズ「ｎ」の場合、「Packed Decimal」に記憶できる最大桁数は2*n-1 です。したがってサイズ１の「Packed Decimal」項目には2*1-1=１桁しか入れることができませんが、サイズ10では2*10-1=19 桁となります。dbMAGIC は18桁に限定しています。


数値（Numeric）［NUMERIC］

a)説明

－　Numeric」は数字をASCII 文字として、１バイトに１桁ずつ記憶します。右端のバイトには埋め込み符号が記憶されます。すなわち、右端のバイト値は正の数字の場合A-I（1-9）または「｛」（0） 、負の数字の場合J-R（1-9）または「｝」0）になります。

b)サイズ

－　１から18バイト。

－　所定のサイズ「ｎ」の場合、「Numeric」に記憶される最大桁数はｎです。


文字数字（Character Number）［STRING］

a)説明

－　「Character Number」も「Numeric」の記憶型式と同様ですが、符号はASCIIコードの「+」または「-」として右端バイトに記憶されます。

b)サイズ

－　１から18バイト。

－　所定のサイズ「ｎ」の場合、記憶される最大桁数はn-1 です。


文字列数字（String Number）［STRING］

a)説明

－　「String Number」は１バイトに１桁ずつ記憶します。数字に10進数字を含んでいれば１バイト追加されます。負の数字では最初の桁の前に'-' が含まれます。

b)サイズ

－　１から19バイト。


dbMAGIC 数字（Magic Number）［STRING］

a)説明

－ 「Magic Number」はdbMAGIC が使用する内部表現です。１バイトに２桁ずつ記憶してバイトを追加していきます。

b)サイズ

－　２から10バイト。

－　「Magic Number」は18桁までサポートします。


C-ISAM  10進数（C-ISAM Decimal）［STRING］

a)説明

－　「C-ISAM Decimal」は１バイトに２桁ずつ記憶してバイトを追加していきます。

b)サイズ

－　 ２から17バイト。

－   所定のサイズ「ｎ」の場合、C-ISAMに記憶できる最大桁数は2*（n-1） です。したがってサイズ１のC-ISAM項目には2*1-1=１桁しか入れることができませんが、サイズ17では2*（17-1）=32 桁となります。ただし、dbMAGIC は18桁に限定しています。


拡張浮動小数点（Extended Float）［STRING］

a)説明

－　整数部と小数部で15桁まで記憶する時に使用されるIEEE浮動小数点型。

b)サイズ

－　８バイト。

注意：　この型式は、DEC Rdb GFLOAT記憶型式に基づいています。


論理整数値（Integer Logical）［STRING］/［UNSIGNED BINARY］

a)説明

－　「Integer Logical」では「Unsigned Integer」の数値フォーマットによる１または２バイトに、値１（True）または０（False）を記憶します。

b)サイズ

－　１または２バイト。


論理文字列（String Logical）［STRING］

a)説明

－　「String Logical」では１バイトの文字列に文字Ｔ（True）またはＦ（False）を記憶します。

b)サイズ

－　１バイト。


日付整数（Integer Date）［INTEGER］

a)説明

－  西暦１年１月１日からの経過日数を表わします。それぞれのデータベースにより「Signed Integer」もしくは「Unsigned Integer」として記憶されます。

b)サイズ

－　４バイト。


日付整数－1901（Integer Date - 1901）［INTEGER］

a)説明

－　西暦1901年１月１日からの経過日数を表わします。「Unsigned Integer」として記憶されます。

b)サイズ

－　４バイト。


日付文字列（String Date）［STRING］

a)説明

－　「String Date」は'YYMMDD'または'YYYYMMDD'フォーマットの文字列による日付を表わします。YY（１番目のフォーマット）は年の最後の２桁を表わし、YYYY（２番目のフォーマット）は年の４桁、MMは月、DDは日を表わします。

b)サイズ

－　６または８バイト。


YYMD日付（YYMD Date）［DATE］

a)説明

－　'YYMD'フォーマットによる２進整数として日付を表わします。最初の２つの最上位バイトには年を記憶し、３番目のバイトには月、最後の（最下位）バイトには日を記憶します。３つの数字はすべて２進表現です。

b)サイズ

－　４バイト。

c)注意事項

－　これはBtrieve の日付型項目フォーマットです。


dbMAGIC 日付（Magic Date）［STRING］

a)説明

－　「Magic Number」の記憶型式として記憶される西暦１年１月１日からの経過日数を表わします。

b)サイズ

－　４バイト。


dbMAGIC 日付－1901（Magic Date - 1901）［STRING］

a)説明

－　「Magic Number」の記憶型式の数値型項目として記憶される西暦1901年１月１日からの経過日数を表わします。

b)サイズ

－　４バイト。


整数時間（Integer Time）［INTEGER］

a)説明

－　秒数が、特定のデータベースに従い「Signed Integer」または「Unsigned Integer」として記憶されます。

b)サイズ

－　４バイト。


文字列時間（String Time）［STRING］

a)説明

－　「String Time」は'HHMMSS'フォーマットの文字列で時間を表します。すなわち、最初の２文字は時間を表し、続く２文字は分、最後の２文字で秒を表します。

b)サイズ

－　６バイト。


HMSH時間（HMSH Time）［TIME］

a)説明

－　「HMSH Time」は'HMSH'フォーマットの２進整数として時間を表わします。最初のバイトで時間を、２番目で分、３番目で秒を、そして最終バイトで100 分の１秒を記憶します。４つの数字ともすべて２進表現です。

b)サイズ

－　４バイト。

c)注意事項

－　これはBtrieve の時間型項目フォーマットです。


dbMAGIC 時間（Magic Time）［STRING］

a)説明

－　秒数は「Magic Number」の記憶型式として記憶されます。

b)サイズ

－　４バイト。


文字列メモ（String Memo）

a)説明

－　メモ型項目は２バイトとそれに可変長の文字列が続く形で記憶されます。最初の２バイトには文字列の実際の長さが入ります。これら２バイトと実際の文字列の文字だけがファイルに記憶されます。たとえば文字列'Old Customer'を含むメモ型項目は記憶場所を14バイト占めます。メモ型項目が空の場合、記憶場所を２バイト占めます。


dbMAGIC メモ（Magic Memo）

a)説明

－　これはdbMAGIC のバージョン4のメモ型記憶型式です。最初の２バイトにはメモ型項目の実サイズが含まれます。記憶される時にdbMAGIC メモ型項目はスペースを最小限にする必要があるために圧縮されます。


バイナリモジュール（Binary Large Object）

a)説明

－　dbMAGICがOLE2オブジェクトまたはイメージのいずれかを解釈するバイナリ項目を表わします。


 3.4.1.許容されるキーの長さと範囲検索処理の処理速度

－　範囲を定義する下限（最小）と上限（最大）の値が等しい場合、dbMAGIC は常に、どのような記憶型式のキー項目でも効果的な範囲操作（高速検索）を実行できます。これは範囲指定が特定の１つの値だけの「位置付」として実行されるからです。

－　範囲を定義する下限（最小）と上限（最大）の値が等しくなく、［データベース定義］＝「Ｓ＝文字列」の場合、dbMAGIC は常に要求されるレコードの集合を探しますが、実行速度はキー項目の記憶型式に依存します。

次の表は［データベース定義］＝「Ｓ＝文字列」の場合、各型および記憶型式についてdbMAGICで許されているキーの長さと、範囲指定の上限と下限が異なる時の［範囲検索］処理の処理速度を表わしています。

メモ型およびBLOB型の記憶型式はキーとして使用できないため表には出てきません。

実行速度の分類は次のようになります。

－  高速検索:  範囲が即時に見つけられることを意味します。

－  順次検索:  範囲はファイルレコードの順次走査によって行なわれることを意味します。これは非常に遅い処理になる可能性があります。


  3.4.ファイルのキー操作とデータ記憶型式

データファイルの特定の項目での［範囲検索］処理の性能を向上させるためには、キーとして使用される項目を指定して、データファイルへのアクセスを高速にできるようにすることが考えられます。

ファイルキーとしてどのようなデータ記憶型式でも使用できるということは、そのデータ表現によって項目に記憶されたデータ値に従った正しいレコードのソートができなければならないことを意味します。

それぞれのDBMSは、どのデータ記憶型式をキーとして使用できるか定義しています。 Btrieveについては次の章で説明します。

ファイル項目を定義している間、dbMAGIC は常に各項目のデフォルトとして指定のデータベースゲートウェイでキーとして使用できるデータ記憶型式を選択しようとします。

－［項目特性］ダイアログにおいて［データベース定義］パラメータを「Ｓ＝文字列」に設定した場合、キーとしてサポートされていないデータ記憶型式も使用できます（しかしこの場合、dbMAGIC はこのキーによるファイルのレコードのソートが正しいかどうかについては保証できません。このような種類のキーの場合、dbMAGIC はレコードを順次検索するという手段をとることもあります）。

次の節では、［データベース定義］に「Ｓ＝文字列」と指定した時の、各記憶型式について許容されるキーの長さと、［範囲検索］処理の処理速度について説明します。

3.4.1.許容されるキーの長さと範囲検索処理の処理速度


  第４章　Btrieveのデータ記憶型式と技術情報

Btrieveは、単一ユーザおよびマルチユーザのレコード管理を扱う高性能の DBMS です。 dbMAGIC v7.0のインストールディスクには、Btrieveプログラムとその dbMAGICデータベースゲートウェイが入っています。

4.1.Btrieveのキーおよび記憶型式

4.2.Btrieveの技術情報


  4.1.Btrieveのキーおよび記憶型式

 BtrieveのためのdbMAGICデータベースゲートウェイは、以下の表にあげる記憶型式とキーの長さをサポートします。Btrieveファイルの項目を定義すると、dbMAGICはデフォルトの記憶型式として適切なものを、項目型に従って割り当てます。この場合［データベース定義］パラメータは「Ｎ＝標準」に設定されます。

Btrieve の記憶型式


  4.2.Btrieveの技術情報

 補足 ：ファイルに定義できるキーセグメントの最大数は、ファイルのページサイズによって異なります。付録ＡのＡ.1＜26:キー数エラー＞の表を参照して下さい。


  付録Ａ　Btrieve のエラーメッセージ

この付録には、Btrieveデータベースゲートウェイによって生じるエラーメッセージを載せます。

dbMAGIC Btrieveデータベースゲートウェイのエラーダイアログが表示された際、ユーザが [OK] を選択すると、現在のプロセスは終了します。また、すべてのファイルはクローズします。

A.1. 実行時のエラーメッセージ

< 01 >～< 20 >

< 21 >～< 50 >

< 51 >～< 100 >

<101 >～<1020 >


  < 01 >～< 20 >

<01:無効操作>

指定された Btrieve オペレーションが存在しないか、またはこのバージョンの Btrieveには有効でありません。

<02:I/Oエラー>

ディスク読み取り／書き込み時にエラーが発生しました。この状況は、ファイルが壊れているので作成しなおさなければならない、またはオープン呼び出しで指定したファイル名がBtrieve の作成ユーティリティで作成されていなかったことなどを示します。この状況は、アプリケーションがファイル用に割り当てられた位置ブロックに書き込んだ場合にも発生します。

dbMAGICで考えられる原因 ： ディスクにアクセスしているときに物理的な入出力エラーが発生した。Novellネットワークでは、ファイルに共有可能のフラグが立てられていることもあります。

<03:ノーオープン>

Btrieve が他の操作を処理できるようにするには、アプリケーションがあらかじめ正常にオープン操作を実行していなければなりません。この状況はアプリケーションがファイル用に割り当てられた位置ブロックに書き込んだ場合、または無効な位置ブロックを渡した場合にも発生します。

<04:キーが見つかりません>

要求されたキー値が指定のアクセスパスに見つかりません。

dbMAGIC で考えられる原因：［ファイル辞書］の特定のファイルについてキーが削除されたが、dbMAGIC で必要なデータファイル変換が実行されなかった。

<05:重複エラー>

値の重複が許されないインデックスに対して、重複キー値を含むキー項目付きのレコードを追加しようとしました。

<06:キー番号無効>

キー番号パラメータに記憶されている値はアクセスしているファイルで有効ではありません。キー番号はファイルが作成されたときに定義されたキーのどれか、または追加キーに該当しなければなりません。

dbMAGIC で考えられる原因：［ファイル辞書］のファイルにキーが追加されたが、dbMAGIC で必要なデータファイル変換が実行されなかった。

<07:キー番号が違っています>

Get Next, Get Previous, Update, またはDelete 操作をする前にキー番号パラメータが変わりました。要求される操作については前の操作と同一のキー番号パラメータを要します。

レコードマネージャは前のキー番号に関連する位置情報を使用するためです。Get NextまたはGet Peviousを続けて実行するときにキー番号を変える必要があれば、まずGet Direct操作を使用して新しいアクセスパスによる位置付けをしなおします。

<08:位置付け無効>

現在の位置付けを設定するためのGet Position 操作を最初に実施しないで、レコードの更新や削除をしようとしました。この状況はアプリケーションがファイル用に割り当てられた位置ブロックに書き込んだ場合にも発生します。

<09:ファイルの終わり>

ファイルの終わりを越えて読み取りをしようとしました。昇順でアクセスパスをたどるとき（Get Next操作使用）、Btrieve は前の要求によるアクセスパスでの最後のレコードを返します。降順でアクセスパスをたどるとき（Get Previous操作使用）、Btrieve は前の要求によるアクセスパスでの最初のレコードを返します。

<10:修正エラー>

修正不可に設定されているキー項目を修正しようとしました。

<11:ファイル名無効>

指定されたファイル名は、土台となるＯＳのファイル名の取り決めに適合していません。

<12:ファイルが見つかりません>

要求されたファイルは存在しません。キーバッファのパラメータを調べてファイル名の最後が空白か２進値のゼロになっており、Btrieve に正しく渡されていることを確認してください。

<14:プリオープンエラー>

このエラーは、v6.0 以前のバージョンのファイルでのみ適用されます。

プリイメージファイルが作成／オープンできませんでした。このエラーとして次のような原因が考えられます。

-  ディスクが一杯のため、新しいプリイメージファイルをBtrieveが作成できません。

不要なファイルを消去して新たなディスクスペースを確保してから、リトライしてください。

-  ファイルの整合性を復旧するのに,Btrieveがプリイメージファイルをオープンできません。これは、プリイメージファイルが消去されているか破損しているかもしれません。データファイルを再建するためにBUTILユーティリティを使用するか、Btrieveファイルを最新のバックアップで置き換えてください。

<15:プリイメージエラー>

このエラーは、v6.0 以前のバージョンのファイルでのみ適用されます。

プリイメージング中にI/Oエラーが発生しました。このエラーとして次のような原因が考えられます。

-  ディスクが一杯です。 回復するため、不要なファイルを消去して新たなディスクスペースを確保してから、リトライしてください。

-  ファイルの整合性を復旧するのに、Btrieveがプリイメージファイルをオープンできません。これは、プリイメージファイルが消去されているか破損しているかもしれません。データファイルを再建するためにBUTILユーティリティを使用するか、Btrieveファイルを最新のバックアップで置き換えてください。

<17:クローズエラー>

ディレクトリ構造をBtrieve ファイルに合わせることができませんでした。レコードマネージャがファイルをクローズできないか、新しいページがファイルに追加されたのでレコードマネージャがディレクトリ構造を更新するためのファイルのクローズ、再オープンができません。破損ディスクがないか調べてください。この状況はアプリケーションがファイル用に割り当てられた位置ブロックに書き込んだ場合にも発生します。

<18:ディスクが一杯です>

ディスクが一杯になったので、挿入のためのファイルの拡大ができません。不要なファイルを消去して新たなディスクスペースを確保してください。

<19:回復不能エラー>

回復不可能なエラーが発生しました。ファイルの整合性を保証できません。

データファイルを再建するためにBUTILユーティリティを使用するか、Btrieveファイルを最新のバックアップで置き換えてください。

<20:レコードマネージャが起動されていません>

Btrieve リクエスタまたは、レコードマネージャが起動される前に、要求が出されました。


  < 21 >～< 50 >

<21:キーバッファエラー>

キーバッファのパラメータに、要求されるアクセスパスのキー項目を受け入れられるだけの長さがありません。キーバッファの長さがキー番号パラメータによって指定されたキーについて定義されている長さと等しいかどうか確認してください。

<22:レコードバッファ>

データバッファのパラメータに、ファイルが作成されたときに定義されたデータレコードの長さを受け入れられるだけの長さがありません。データバッファの長さがファイルの指定されたレコード長と等しいかどうか確認してください。このエラーが発生すると、Btrieve はデータバッファに可能なだけレコードを返します。

dbMAGIC で考えられる原因：ファイルの定義に何らかの変更があり、dbMAGIC で必要なデータファイル変換が実行されなかった。

<24:ページサイズエラー>

このエラーの原因として、次のことが考えられます。

-  ページサイズが無効です。ページサイズは 512 バイトの倍数で、4,096バイト以下でなければなりません。

-  Create 操作時、ページサイズは Btrieve が検査する最初のファイル仕様です。この状況はアプリケーションに無効なデータバッファを渡した場合にも発生します。

<25:入出力作成エラー>

指定されたファイルを作成できませんでした。原因として考えられるのはディスク（ディレクトリ）が一杯、またはディスクが書き込み保護されているなどです。

<26:キー数エラー>

指定されたキーの数がぺージサイズに対して無効です。キーセグメントの数には次の制限があります。

<27:キー位置エラー>

指定されたキー項目の位置は指定されたレコード長を超えてはなりません。キー位置がレコード長よりも大きいか、キー位置とキー長を合わせたものがレコード長を超えています。

<28:レコード長エラー>

指定されたレコード長に重複用のオーバーヘッドを加えた長さが、ページサイズから8バイトを引いたものよりも大きいか、または4バイトより小さくなっています。

<29:キー長エラー>

キー長は０～242の範囲で指定しなければなりません。２進数値のキーの長さは偶数でなければなりません。Btrieve ではファイルの各キーのページの大きさは最低8つのキーを保持するのに十分な大きさが必要です。ファイルのページサイズが小さすぎて指定のキーの長さにオーバヘッドを加えた長さが8つ分入らなければ、ファイルのページサイズを大きくするか、キーの長さを小さくしてください。

<30:Btrieve ファイル名エラー>

指定されたファイルは有効なBtrieve ファイルではありません。もし、v3.X以前のBtrieveファイルであれば、コンバートしなければなりません。

<35:ディレクトリエラー>

カレントディレクトリとBtrieve ファイルがあるディレクトリとの切り替えで、エラーが発生しました。カレントディレクトリかBtrieve ファイルディレクトリのいずれかが無効です。

<36:トランザクションエラー>

トランザクション操作が実行できません。 Btrieve セットアップユーティリティを実行して、[トランザクション数] 環境設定オプションに大きめの値を指定してみてください。

<37:トランザクション開始エラー>

別のトランザクションの実行中にトランザクション開始が発行されました。トランザクションはネストできません。

<38:トランザクション制御ファイルエラー>

レコードマネージャがトランザクション制御ファイルに書き込もうとしたときに、エラーが発生しました。原因としては、ディスクがいっぱいになっている、ディスクが書き込み保護されている、またはトランザクション制御ファイル（レコードマネージャがロードされるときに作成されるもの）が削除されているということが考えられます。

<39:トランザクション終了／中断エラー>

対応するトランザクション開始命令がないのに、トランザクション終了または中断命令が発行されました。

<41:トランザクション操作エラー>

次のような操作は、パフォーマンスに大きなマイナスの影響を及ぼすため、トランザクション中には実行できません。

-  Close, Set owner, CIear 0wner, Create lndex, および Drop Index等

<42:アクセラレイテッドアクセス不完全>

前にアクセラレイテッドモードでアクセスされたが正常にクローズできなかったファイルをオープンしようとしました。このファイルの整合性は保証されません。Btrieveユーティリティの「復旧」を使用して新しいファイルを作成するか、回復モードでファイルをオープンし、Step Direct を使用してデータレコードを回復する独自の回復プログラムを作成してください。

<43:データレコード・アドレス無効>

Get Directで指定されたレコードアドレスが無効です。アドレスがファイルの領域を越えているか、データページ内のレコード境界にないかのいずれかです。Get Directで指定する４バイトのアドレスはGet Position操作で得られたものでなければなりません。

<44:ヌルキーにパスを設定しようとしました>

Get Directを使用して、対応するレコードにおいて値がヌルのキーのアクセスパスを確立しようとしました。Btrieve はヌルのキー値に基づく位置付けはできません。

<45:キーフラグ不一致>

Create操作でのキーフラグ仕様が一致していません。キーに複数のセグメントがある場合、重複、修正可能、およびヌルの型はキーの各セグメントについて同一であるべきです。

<46:アクセスが否定されました>

アプリケーションが読み取り専用モードでファイルをオープンしましたが、そのファイルで更新、削除、または挿入を実行しようとしました。回復モードでオープンされている不整合ファイルは読み取れますが、更新はできません。Btrieveユーティリティの「復旧」またはStep Direct操作いずれかを使用して新しいファイルを構築すべきです。

別の原因として考えられるものに、ファイルが更新のためのオーナ名を要求しているがファイルをオープンしたときに正しいオーナ名を指定しなかったことがあります。

<48:代替順序定義無効>

この状況は２つの状態のいずれかによるものです。Btrieveは、代替照合順序定義の１バイト目、すなわち識別バイトに16進値ACが含まれていない場合にこの状況を返します。

別の可能性としては、サプルメント・インデックス用の代替照合順序を指定したが、そのファイルでは代替照合順序が存在しないということがあります。

<49:キータイプエラー>

無効な拡張キータイプを持つファイルないしサプルメント・インデックスを作成しようとしたか、または２進数値のキーないしキーセグメントに代替照合順序を割り当てようとしました。代替照合順序は文字列（String）、Ｌ文字列（LString）、もしくはＺ文字列（ZString）型のキーにしか割り当てられません。

<50:オーナ名設定エラー>

すでにオーナが設定されているファイルでSet Owner操作を実行しようとしました。

Clear Owner操作を使用して前のオーナを除去してから新しいオーナを設定してください。


  < 51 >～< 100 >

<51:オーナ名無効>

Set Owner操作時にこのコードが返された場合は、キーバッファとデータバッファで指定されたオーナ名が一致していないことを示します。

Open操作時にこのコードが返された場合は、オープンしているファイルには割り当てられたオーナ名がすでにあることを示します。アプリケーションはデータバッファで正しいオーナ名を指定しなければなりません。

<53:インターフェース無効>

Btrieveバージョン３またはそれよりも以前のものによる言語インターフェースで可変長レコードを含むファイルにアクセスしようとしました。可変長レコードのファイルにアクセスするためにはバージョン４以上のインターフェースを使用しなければなりません。

<54:可変ページエラー>

Step Direct操作時、Btrieveはレコードの可変長部分の全部または一部を読み取ることができませんでした。この場合Btrieveはアプリケーションにできるかぎりのデータを返します。このエラーは普通、ファイルの１ページ以上にファイル破損があることを示します。

<56:インデックス不完全>

サプルメント・インデックスが破損しています。これはCreate Supplemental Index操作またはDrop Supplemental Index操作が中断されて完了できない場合に発生する可能性があります。Drop Supplemental Index操作を実行してファイルから索引を完全に除去してください。

<78:デッドロック検出>

その端末で、すべてのリソースがクリアされません(たとえば、トランザクションまたはロックのような)。この場合、他の端末が無制限に待つ原因になるかもしれません。

<80:衝突>

Update/ Delete操作を実行できません。この端末でレコードを読み取ってから別の端末によってこれが変更されたからです。レコードを再度読みだして操作を実行してください。

<81:ロックエラー>

Btrieveロックテーブルが一杯になっています。セットアップユーティリティを使用して[クライアント毎のレコードロック数]オプションで大きめの数を指定してください。

BtrieveはＯＳに対するロックファンクションコールが失敗した場合にもこのエラーを返します。

もう１つの可能性としては、多重レコードロックによってロックされている１つのレコードのロックを解除しようとしたときに、データバッファに記憶されているレコード位置がそのファイルでロックされているどのレコードにも該当しなかった場合が考えられます。

<82:位置損失>

Get Nextまたは Get Previousを重複するキーで実行したとき、別の端末で削除されてしまっているか、キー値が修正されてしまったレコードを修復しようとしました。Get EqualまたはGet Direct操作を使用して位置付けをしなおしてください。

<83:トランザクション外での読み取り>

トランザクション内においてレコードを削除または更新しようと試みましたが、そのレコードはトランザクション内で読み取られていませんでした。レコードをトランザクション内において更新または削除しようというのであれば、そのレコードをトランザクション内において読み取り、そのデータへの排他的アクセスを最初に獲得したことを確認しなければなりません。

<84:レコード使用中>

現在別のハンドルによってロックされているレコードをロックしようとしたか、別の端末があるファイルのレコードをロックしているときに、アプリケーションがトランザクション内においてそのファイルにアクセスしようとしました。

<85:ファイル使用中>

別のハンドルがあるファイルでトランザクションロックをかけているか、あるファイルをアクセラレイテッドモードでオープンしているときに、トランザクション内においてそのファイルのオープン、レコードのロック、またはレコードのアクセスをしようとしました。

<86:ファイルテーブルがー杯>

Btrieveファイルテーブルがー杯です。セットアップユーティリティを使用して [オープンファイル数] 環境設定オプションに大きめの値を指定してください。

<87:ハンドルテーブルがー杯>

Btrieveハンドルテーブルがー杯です。セットアッブユーティリティを使用して [ハンドル数] 環境設定オプションに大きめの数を指定してください。ＯＳでオープンできるファイル数の限界になっている場合にも、このエラーが出ます。

<88:モードエラー>

一致しないモードでファイルをオープンしようとしました。ファイルにアクセスする最初のハンドルがこれをアクセラレイテッドモードでオープンした場合、その他のものはすべてアクセラレイテッドモードでオープンしなければなりません。非アクセラレイテッドモードでオープンしたものについてはこれと反対になります。

<90:デバイスが一杯>

リダイレクションテーブルが一杯です。リクエスタを再ロードし、[マップ済ドライブ数] (/R)オプションに、大きめの値を指定してください。

<91:サーバエラー>

リクエスタがサーバとのセッションを確立できません。Btrieveサーバが要求されたファイルを制御するデバイス用として始動されていないか、サーバがアクティブでないかのいずれかです。そのデバイスがリダイレクトされているサーバ上でBtrieveサーバがアクティブであるか、またサーバがアクティブであるかどうか確認してください。

<92:トランザクションが一杯>

Btrieveサーバをロードしたときに指定した有効トランザクション数が超過しました。

Btrieveサーバ用のトランザクションパラメータに大きな数を指定してください。

<93:ロックタイプ不一致>

アプリケーションが単一レコードロック（+100/+200 ）と多重レコードロック（+300/+400 ）を同一ファイルで同時に混在させようとしました。一方のタイプのロックが全部解除されてからでなければ別のタイプのロックは実行できません。

<94:許可エラー>

権利を持たないディレクトリにおいてユーザがファイルをオープンまたは作成しようとしました。Btrieveはユーザに割り当てられたネットワークのアクセス権を無視することはしません。

dbMAGICで考えられる原因：ネットワークのアクセス権が正しく設定されていないかMGLOCK.DATファイルが無効。

<95:セッションエラー>

ワークステーション、ファイルサーバ、またネットワーク上のエラーにより、以前に確立されていたセッションがもはや有効ではありません。ワークステーションがまだそのサーバに接続されているかどうか調べてから、Btrieve リクエスタをアンロードし、ロードし直してください。

また、このステータスコードは Btrieve のセッション数が最大数に達したことを示すことがあります。 Btrieveモニタユーティリティの [通信統計情報] オプションを使って、セッションが最大数に達しているかどうか調べてください。最大数に達していた場合は、Btrieve セットアッブユーティリティを使用して [リモートセッション数] 環境設定オプションに大きめの値を指定してください。

<96:通信環境エラー>

サーバ上の Btrieve に接続しようとしましたが、SPXの接続テーブル、または Btrieve のクライアントテーブルがー杯です。Btrieveセットアップユーティリティを使用して [リモートセッンョン数] 環境設定オプションに大きめの値を指定してください。

<97:データバッファが小さい>

アプリケーションにおいて、Btrieveサーバのレコード長パラメータまたはデータメッセージBtrieveリクエスタで指定した値よりも大きなレコードを読み取ったか、これに書き込もうとしました。このエラーはStatまたはCreate作成操作時にも起こります。アプリケーションで必要とするデータバッファの正しい最大長を決定し、データメッセージ・パラメータを大きくして適当なプログラムを再度ロードしてください。

アプリケーションでは、Update, Insert, Create操作を発行し、レコード用に指定するデータバッファ長がデータメッセージ・パラメータで指定した長さを超える場合にこのエラー状況を受け取ります。

Get, Stepまたは Stat操作では、データメッセージ・パラメータ用に指定する値が、プログラムで指定したデータバッファ長に関係なくBtrieveが返すデータの長さよりも短い場合に、このエラー状況を受け取ることがあります。

<99:Btrieve リクエスタのアクセス不可>

有効な接続がないことを検出するか、または有効なログインユーザ名を見つけることができないために、NetWareサーバにアクセスできないとき、Btrieve リクエスタはこのステータスコードを返します。

<100:使用可能なキャッシュバッファがありません>

Btrieveが、ロード時に割り当てたすべてのキャッンュバッファを使い切ってしまったことを示しています。セットアップユーティリティを使用して [キャッシュ割当て] 環境設定オプションの値を増やしてください。


  < 101 >～< 1020 >

<1O1:ＯＳのメモリエラー>

オペレーティングシステムのメモリが不足しており、要求されているオペレーションが実行できないことを示しています。この場合、以下のような操作を実行して解決してください。

-  セットアップユーティリティを使用して [キャッシュ割当て] 環境設定オプションの値を減らします。

-  セットアップユーティリティを使用して [リモートセッション数] 環境設定オプションの値を減らします

-  サーバにメモリを追加します。

<102:スタック領域エラー>

Btrieveがスタック領域を使い切ってしまったことを示しています。アプリケーションが使用できるスタック領域の量を増やすために、スタックサイズに大きめの値を設定し、アプリケーションをリンクし直してください。

<105:VATファイルを作成できません>

可変長部割当てテーブル(VAT)を使ってファイルを作成しようとしましたが、ファイルが可変長レコードを使用することを指定できませんでした。

<130:使用可能なシステムロックがありません>

Btrieveが、現在使用可能なシステムロックがありません。これは、1クライアントまたは複数のクライアントが非常に大きなトランザクションを実行中であるとき起こりうるー時的な状態です。操作をもう一度実行するか、複数の小さめのトランザクションに分割するようにしてください。

セットアップユーティリティを使用して、明示的ロックに使われるシステムロックの数を減らすこともできます。これを行うには、[クライアント毎のレコードロック数] と [リモートセッション数] オプションに割り当てられる値の両方、またはー方を小さくしてください。

<132:ファイルに空きがありません>

4 ギガバイトを超えるサイズのファイルの拡張を試みました。

<1001:ロック数パラメータの値が範囲外です>

セットアップユーティリティの[クライアント毎のレコードロック数] 環境設定オプションに指定された値が範囲外です。

<1002:メモリ割り当てエラー>

ワークステーンョンは、必要なすべてのプログラムをロードできる十分なメモリがありません。

<1003:メモリサイズパラメータが小さすぎます>

セットアップユーティリティの[キャッシュ割当て] 環境設定オプションの値が、必要なキャッシュサイズを収容できるだけ十分に大きくありません。

<1005:プリイメージファイルドライブパラメータが不正>

プリイメージ/ロックファイルドライブで指定されたドライブ名が無効です。

<1006:プリイメージバッファパラメータの値が範囲外>

プリイメージバッファサイズの値が、範囲外です。

<1007:ファイルパラメータが範囲外>

 [オープンファイル数] 環境設定オプションの設定値が、範囲外です。

<1008:初期パラメータが無効>

指定された環境設定オプションが無効な値、または認識不可能な値を含んでいます。

<1009:トランザクションファイル名が無効>

指定されたトランザクションファイル名は無効です。

<1010:トランザクション制御ファイルのアクセス中エラー>

トランザクション制御ファイルが、作成、オープン、読み込みまたは、書き込みができません。

<1011:圧縮バッファサイズの値が範囲外>

 [最大圧縮レコードサイズ] 環境設定オプションの値が範囲外です。

<1013:タスクテーブルがー杯>

タスクエントリテーブルがー杯です。セットアップユーティリティを使用して利用可能なタスクエントリの数を増やしてください。

<1015:ポインタパラメータが無効>

このエラーは、BTI.INIのCheckparms = Yesのとき返される可能性があります。

<1017:WBTRVRES.DLL を見つけられません>

WBTRCALL.DLL がリソースファイル WBTRVRES.DLL を見つけることができません。解決方法のため、 WBTRVRES.DLL ファイルを WBTRCALL.DLL と同じディレクトリの中に置いてください。

<1020:Btrieveリクエスタインタフェースの通信エラー>

ゲートウェイが Btrieveと通信しようとしても、 Btrieveが終了されているなどの理由でできないとき、このエラーが発生するかもしれません。


  付録Ｂ　Btrieveのユーティリティ

Btrieveデータベースゲートウェイには、dbMAGICとは別に使用されるユーティリティが添付されています。

次に、各ユーティリティの説明を行います。

B.1. MicroKernelワークステーションエンジン

B.2.  Btrieveファイルマネージャコマンドラインユーティリティ (BUTIL.EXE)

B.3. Btrieveロールフォワードユーティリティ


  B.1. MicroKernelワークステーションエンジン

これは、 dbMAGIC Btrieveデータベースゲートウェイを介して、dbMAGICによって使用される Btrieveエンジンです。dbMAGICによって自動的に実行されます。エンジンがdbMAGICとは別にロードされた場合、エンジンは独自のアイコンとインタフェースを持ち、リソース割り当てのログを表示します。このエンジンを通じてセットアップユーティリティにアクセスすることも可能です。

 (1) MicroKernelセットアップ

このユーティリティは、Btrieveエンジンの各種設定を行うために使用されます。

Btrieveの動作に影響を与える重要な設定の一覧を次に示します。

設定カテゴリは各設定の次の括弧の中に記述します。

- オープンファイル数 [ ファイル設定 ]

この設定は、同時にオープン可能なユニークファイルの最大数を指定します。この値は、Btrieveエンジンがオープン可能な物理ファイルハンドルの最大数を示しています。

- ハンドル数 [ ファイル設定 ]

この設定は、Btrieveエンジンが同時に使用する論理ファイルハンドルの最大数を指定します。各ファイルは複数のクライアントインスタンスでオープンできます。そのため、同じ物理ハンドルに対して複数の異なる論理ハンドルが存在することもあります。

最大数の計算としては、「オープンファイル数」 x 「クライアント数」 = 「ハンドル数」となります。

- クライアント毎のレコードロック数 [ ファイル設定 ]

この設定は、クライアントインスタンスが同時にロック可能なレコードの最大数を指定します。この最大数は、シングルレコード読み込みロックおよびマルチレコード読み込みロックの両方に適用されます。

-  v6.x以前のフォーマットでファイルを作成 [ ファイル設定 ]

この設定は、すべての新規ファイルを Btrieve v5.xファイルフォーマットで作成するように指定します。

この設定は、以前のバージョンの Btrieve と互換性を保つ必要がある場合にのみ使用してください。

Btrieve v6.xエンジンは、ここでの設定を行わなくても、既存の Btrieve v5.xファイルを更新することが可能です。

- ロギングの実行 [ ファイル設定 ]

この設定は、選択したファイルで実行されるオペレーションのロギングを Btrieveエンジンで行うかどうかを制御します。ロギングはロールフォワードユーティリティで必要になります。この設定をオンにすると、Btrieveエンジンは指定したファイルについてトランザクション (Begin, End, Abort)および更新オペレーション(Insert, Update, Delete)のロギングを行います。

Btrieveエンジンでロギングするファイルを指定するには、そのファイルが格納されている共有ディレクトリで作成した\BLOG\BLOG.CFGファイルにエントリを追加します。さらに詳しい情報については、ロールフォワードユーティリティの「ログコンフィギュレーションファイルの作成」の節をご覧ください。

- ロックファイルの削除 [ ファイル設定 ]

テンポラリロックファイルを削除するかどうかを指示します。削除すると、一部のネットワーク環境ではエラーコード 81 が発生することがあります。

- 通信バッファサイズ [ メモリリソース ]

Btrieveエンジンが送受信できる通信バッファの最大サイズを指定します (バイト単位)。大きいサイズのレコードや BLOBデータを使用する場合、この設定値を大きくすることをお勧めします。

-  Extendedオペレーションバッファサイズ  [ メモリリソース ]

Extended（マルチレコード）オペレーションを処理するのに必要なバッファのサイズを指定します (キロ バイト単位)。


B.2  Btrieveファイルマネージャコマンドラインユーティリティ (BUTIL.EXE)
  B.2.  Btrieveファイルマネージャコマンドラインユーティリティ (BUTIL.EXE)

Btrieveファイルマネージャユーティリティを使用することによって、dbMAGICを使用せずに、コマンドラインからBtrieveファイルを作成、操作および復旧することができます。このユーティリティは他のBtrieveユーティリティと同じディレクトリにあります。このユーティリティは Windows 95や Windows NT上で行われるような完全な32ビットインストールでのみインストールされます。

(1) コマンドフォーマット

BUTIL  [  -command  [ parameter ...] ]  |  @commandFile

-command	ファイルマネージャユーティリティのコマンド（下記一覧を参照）。

parameter	コマンドが必要とする情報。

commandFile	コマンドファイルのパス名。

(2) コマンド一覧

各コマンドの完全なシンタックスを知るには、パラメータを付けずにBUTILを実行してください。

(3) コマンドファイルの使用

コマンドファイルを使用して、次のいずれかの操作を行うことができます：

-  コマンドラインに入りきれない長いコマンドの実行。

-  頻繁に使用するコマンドの実行（コマンドファイルに一度コマンドを入力し、その後コマンドファイルを何回も実行する）。

-  複数コマンドの実行。

コマンドファイルは次のようなルールにのっとった通常のテキストファイルです：

-  各行の入力文字は130文字以内。

-  １つのパラメータを２つの行に分割することはできません。

-  複数のコマンドを指定するときは、各コマンドの最後に、スペースと <end> もしくは [end] を入力します。

次に、コマンドファイルの例  (RECOVER.CMD) を示します。このコマンドファイルは、破損したファイル  (cust.bak) をあるシーケンシャルファイルにダンプし、新しいデータファイル (cust.dat) を作成します：

-CLONE cust.dat cust.bak <end>

-RECOVER cust.bak cust.seq <end>

-LOAD cust.seq cust.dat <end>

このコマンドファイルを実行するには、BUTIL @RECOVER.CMDを実行してください。

(4) BUTILの使用例

 データファイルの統計情報を得るには

コマンド:

パラメータ

例:

BUTIL -STAT dmctl.mcfは、標準出力へ統計情報を表示します。

データファイルをASCIIファイルに保存するには

コマンド

パラメータ

例:

BUTIL -SAVE dmctl.mcf dmctl.txt N 1は、キー番号１の順序でdmctl.mcfの内容をdmctl.txtに保存します。

破損したデータファイルをASCIIファイルに保存するには

コマンド

パラメータ

例:

BUTIL -RECOVER dmctl.mcf dmctl.txtは、dmctl.mcfの内容をできる限りそのままdmctl.txtに復旧保存しようとします。

ASCIIファイルをデータファイルにロードするには

コマンド

パラメータ

例:

BUTIL -LOAD dmctl.txt dmctl.mcfは、dmctl.txtの内容をdmctl.mcfにロードします。

破損したファイルを再作成するには

破損したファイルを再作成するには、次のうちのどれか１つを行ってください：

-	破損したファイルをCLONEし、次に、破損したファイルをRECOVERして、そのRECOVERしたものをCLONE実行時に新しく作成されたファイルに LOADします。

-	破損したファイルをCLONEし、次に、破損したファイルを CLONEコマンド実行時に新しく作成されたファイルに COPYします。


B.3 Btrieveロールフォワードユーティリティ
  B.3. Btrieveロールフォワードユーティリティ

ロールフォワードユーティリティ (WBROLL.EXE) は、最新のバックアップの時点からシステム障害の発生時点までの間に、ファイルに加えられた変更内容をリカバリする対話型のプログラムです。MicroKernel は、変更内容をログファイルに保存します。システム障害が発生した場合、ファイルのバックアップコピーを復元し、ロールフォワードユーティリティを実行することができます。ロールフォワードユーティリティは、ログファイルに保存されているすべての変更内容をバックアップコピーに適用することができます。

システム障害が発生する前に以下の処理を行っていない場合は、ロールフォワードユーティリティを利用することはできません：

■ エンジンのロギング機能をオンにします。

■ ロギングするデータファイルが格納されている各ドライブのルートディレクトリに、ログコンフィギュレーションファイルを作成します。

■ 定期的にデータファイルをバックアップします。

■ ファイルをバックアップするたびに、既存のログファイルを削除します。

(1) ロギングファイルのセットアップ

(2) データファイルのバックアップ

(3) ロギングオプションを有効にする

(4) ログコンフィギュレーションファイルの作成

(5) ロールフォワードユーティリティの起動法と使用法

(6) ロールフォワードユーティリティのオプションの設定

(7) キューの機能

(8) キュー内の項目のロールフォワード

(9) データファイルの復元例


コマンド

BUTIL -STAT <ソースファイル> [/O<オーナネーム>]


パラメータ


コマンド

BUTIL -SAVE <ソースファイル> <未フォーマットファイル>

[Y <インデックスファイル> | N <キー番号|-1>] [/O<オーナネーム>]


パラメータ

ソースファイル	保存するレコードが含まれている dbMAGICデータファイルのパス名。
未フォーマットファイル	データ（レコード）を保存するためのASCIIファイルのパス名。
インデックスファイル	デフォルトの最も小さいキー番号を使用してレコードを保存しない場合にレコードを保存するのに使用する外部インデックスファイルのパス名。
キー番号	デフォルトの最も小さいキー番号を使用してレコードを保存しない場合に、レコードを保存するキー番号（0以外）。
-1	レコードを物理順序で保存する場合は、-1を指定します。
オーナネーム	ファイルの読み書きに必要なアクセスキー。このパラメータは、データファイルが読み書きのためにオーナネーム指定（dbMAGICアクセスキー）をして作成された場合のみに必要となります。


コマンド

BUTIL -RECOVER <ソースファイル> <未フォーマットファイル> [ /O <オーナネーム> ]


パラメータ

ソースファイル	破損したdbMAGICデータファイルのパス名。
未フォーマットファイル	データ（レコード）を保存するためのASCIIファイルのパス名。
オーナネーム	ファイルの読み書きに必要なアクセスキー。このパラメータは、データファイルが読み書きのためにオーナネーム指定（dbMAGICアクセスキー）をして作成された場合のみに必要となります。


コマンド

BUTIL -LOAD <未フォーマットファイル> <ソースファイル> [ /O <オーナネーム> ]


パラメータ


パラメータ

未フォーマットファイル	データ（レコード）をロードするためのASCIIファイルのパス名。
ソースファイル	レコードを挿入するdbMAGICデータファイルのパス名。
	このファイルは、ロードする前に必ず存在しなければなりません。
オーナネーム	ファイルの読み書きに必要なアクセスキー。このパラメータは、データファイルが読み書きのためにオーナネーム指定（dbMAGICアクセスキー）をして作成された場合のみに必要となります。


パラメータ

ソースファイル	統計情報を表示する dbMAGICデータファイルのパス名。
オーナネーム	ファイルの読み書きに必要なアクセスキー。このパラメータは、データファイルが読み書きのためにオーナネーム指定（dbMAGICアクセスキー）をして作成された場合のみに必要となります。


  B.3 (1) ロギングファイルのセットアップ

エンジンのロギング機能およびロールフォワードユーティリティを利用するには、まず、以下の手順に従って、ロギングするファイルをセットアップする必要があります。ここでは、このプロセスの各手順について説明します。

a) ロギング機能を有効にする前に、データファイルをバックアップします。

 詳細については、「データファイルのバックアップ」を参照してください。

b) セットアップユーティリティを使用して、ロギング機能を有効にします。

 詳細については、「ロギングオプションを有効にする」を参照してください。

c) ログコンフィギュレーションファイル の  BLOG.CFG を作成します。

 ログコンフィギュレーションファイル (BLOG.CFG) は、変更内容をロギングするために指定したドライブのすべてのデータファイル名をリストします。また、デフォルトを使用しない場合は、このファイルを使ってログファイル名を指定することもできます。詳細については、「ログコンフィギュレーションファイルの作成」を参照してください。


  B.3 (2) データファイルのバックアップ

ロギングを開始する前に、データファイルのバックアップコピーを必ず作成しておいてください。

ロギングを有効にすると、エンジンは対応するログファイルを使用して、指定したデータファイルに変更を加えるすべてのオペレーションを記録します。エンジンは、実行されるオペレーションをこのログファイルの終わりに追加し続けます。ログファイルが大きくなり過ぎないようにするために、定期的にデータファイルをバックアップし、対応するログファイルを削減することが必要です。

各バックアップの後、データファイルの作業を再開する前に、対応するログファイルを削除しておく必要があります。バックアップデータファイルと対応するログファイルを同期化させることは、オペレーションを成功させる上で不可欠です。


  B.3 (3) ロギングオプションを有効にする

セットアップユーティリティの［ファイル設定］カテゴリで、［ロギングの実行］環境設定オプションをオンにすると、エンジンのロギング機能を有効にすることができます。このオプションのデフォルトの設定はオフです。

Btrieveの環境設定を行った際に、このオプションをオンにしなかった場合は、次の手順に従ってBtrieveロギング機能を有効にします：

a) セットアップユーティリティを実行します。

b)［カテゴリ］リストボックスから［ファイル設定］コマンドを選択します。

c)［設定］リストボックスから［ロギングの実行］コマンドを選択します。

d)［ロギングの実行］設定をオンにします。

使用している環境に、Btrieve v5.xと Btrieve v6.xが両方ともインストールされている場合、［新規ログファイルのフォーマット］設定もオンにします。

変更内容を直ちに有効にするには、MicroKernelをいったんアンロードしてからもう一度ロードし直さなければなりません。


  B.3 (4) ログコンフィギュレーションファイルの作成

ログコンフィギュレーションファイルをセットアップするには、次の手順に従います：

 a)	ロギングするデータファイルが格納されている各ボリュームのルートディレクトリに、BLOGディレクトリを作成します。

 b)	各\BLOGディレクトリに、空の  BLOG.CFGファイルを作成します。

この BLOG.CFGファイルの作成には、任意のテキストエディタを使用することができます。その際、ロギングするファイルがある各ドライブの BLOGディレクトリに、 BLOG.CFGファイルを作成する必要があります。

 c)	各BLOG.CFGファイルに、オペレーションのロギングを行うドライブ上のデータファイルのエントリを作成します。

エントリを作成するには、次のフォーマットを使用してします：

\path1\dataFile [ = \path2\logFile ]

path1	ロギングするデータファイルのパス。パス名にドライブ名を含めることはできません。

dataFile	ロギングするデータファイルの名前。

path2	ログファイルのパス。ログファイルとデータファイルは異なるドライブに置くことができるため、パスにドライブ名を含めることもできます。

logFile	ログファイルの名前。

１つのエントリを指定する場合、スペースを入力することはできません。各エントリは１行（１行の長さは最大256文字）に収めてください。１行に収まる範囲で、複数のエントリを指定することもできますが、その場合は、１文字以上の空白を入力して各エントリを区分してください。

ログファイル名を指定しない場合、ログファイルを最初にオープンするとき、エンジンは元のファイル名にLOG拡張子を付けた名前をログファイルに割り当てます。たとえば、元のファイル名が DMFIL001.DATの場合は、ログファイルには DMFIL001.LOG という名前が割り当てられます。

次に、ドライブ  Cの BLOG.CFGファイルのエントリの例を３つ示します。

この３つのエントリはすべて同じ結果になります。C:\MAGIC\DMFIL001.DATファイルに対する動作は、C:\MAGIC\DMFIL001.LOGファイルにロギングされます。

\MAGIC\DMFIL001.DAT

\MAGIC\DMFIL001.DAT=\MAGIC\DMFIL001.LOG

\MAGIC\DMFIL001.DAT=C:\MAGIC\DMFIL001.LOG


  B.3 (5) ロールフォワードユーティリティの起動法と使用法

ロールフォワードユーティリティを起動するには、［Btrieve Roll Forward］アイコンを選択します。ロールフォワードユーティリティを使用するには、次の手順に従います：

a) データファイルのバックアップコピーを復元します。

b) ログファイルをバックアップします。

c) オプション ： ロールフォワードユーティリティのプログラムオプションを設定します。

詳細については、「ロールフォワードユーティリティのオプションの設定」を参照してください。

d) ロールフォワードするすべての項目をロールフォワードユーティリティのキューに置きます。

詳細については、「キューへの項目の追加」を参照してください。

e) キュー内の項目のロールフォワードを開始します。

詳細については、「キュー内の項目のロールフォワード」を参照してください。


  B.3 (6) ロールフォワードユーティリティのオプションの設定

ロールフォワードユーティリティには、次の項目を制御するプログラムオプションがあります：

■  レコードを処理するのに使用されるデータバッファのサイズ。

■  ロールフォワードプロシージャを排他操作とするかどうか。

■  リストファイル（\BLOG\BROLL.LST）の内容とフォーマット。リストファイルにはロールフォワードする各ファイルに関する情報が含まれます。ロールフォワードする各ファイルごとに、ロールフォワードされるオペレーションをリストファイルでトレースするかどうかを選択します。

プログラムオプションを設定するには、［オプション］メニューの［オプション］を選択します。

次の表で、設定可能なオプションについて説明します。

ロールフォワードオプション

オプション	 説明

データ長	 ロギングされたエントリを処理するために、ロールフォワードユーティリティが使用するデータバッファに割り当てるサイズを指定します（キロバイト単位）。この値は、最低でも、ロールフォワードするレコードの最大長以上にしてください。デフォルトは、４ＫＢです。

排他操作	 	 Windows v3.1Jはマルチタスクをエミュレートしており、複数のアプリケーションを同時に実行することができます。［排他操作］（デフォルト）を選択した場合、ロールフォワードユーティリティはCPU時間を排他的に使用（独占）します。このオプションを選択しない場合、ロールフォワードユーティリティは、CPU時間を他のアプリケーションと共有します。

レコーダを使ったプログラムまたはバッチ処理プログラムをロールフォワードユーティリティとともに実行する場合、正しいオペレーションが行われるよう、このボックスをオンにしてください。［排他操作］を選択した方が、パフォーマンスが多少向上します。

ファイルのリスト	 BROLL.LSTリストファイルのリスト表示オプションを指定します。

以下の項目を指定できます。

詳細	このオプションを使うと、ロギングファイルごとに、ロールフォワードオペレーションとログファイル作成それぞれのタイムスタンプがリストファイルに追加されます。ロギングされたオペレーションごとにオペレーションを実行したユーザの名前、ワークステーションのネットワーク間アドレス（適用可能な場合）、オペレーションが実行された時刻を示すタイムスタンプ、およびユーザ定義のデータ長とオペレーションに使用されるキー番号が追加されます。
リストする データ （バイト数）	ロールフォワードされるオペレーションごとに、リストファイルに出力されるデータバッファの長さを指定します。
リストする キー （バイト数）	ロールフォワードされるオペレーションごとに、リストファイルに出力されるキーバッファの長さを指定します。
ASCII または16進	オペレーション値のリストをASCIIモードと16進モードのどちらで表示するか指示します（両方を選択することはできません）。
オプションの設定内容を現在のロールフォワードセッションにのみ適用する場合は、［ＯＫ］を選択します。オプションの設定内容を以後のロールフォワードセッションでも適用する場合は、［保存］を選択します。


  B.3 (7) キューの機能

ロールフォワードユーティリティは、キュー内のジョブを対象として機能します。ロールフォワードするファイルを指定すると、ロールフォワードユーティリティはそれらのファイル名をキューに置きます。キューには、最大32個の項目を入れることが可能です。各項目は、次のいずれかです：

■ 指定されたドライブ上の全ファイル

■ 複数のデータファイルのリストを示すテキストファイル名

各ファイル名の構文は、以下のとおりです。

 [drive:]\fullPathname\filename

各ファイル名は、復帰/改行で区切ってください。デフォルトのドライブは、テキストファイルが処理された時点のカレントドライブです。

■ 個々のデータファイル名

・キューへの項目の追加

項目をキューに追加するには、次の手順に従います：

a) ［キュー］メニューの［追加］を選択します。

［ファイルの追加］ダイアログボックスが表示されます。

b) キューに追加する各項目ごとに、次の手順を実行します。

b.1) ロールフォワードの対象とするファイルを指定します。

指定したドライブ上のすべてのファイルを指定するには、［ボリューム全体］チェックボックスをオンにします。

ファイルのリストが記述されているテキストファイルを指定するには、［ファイル名］テキストボックスにそのファイル名を入力します。

特定のファイルを指定するには、［ファイル］および［ディレクトリ］リストボックスを使用します。

b.2) 追加するキュー項目のリストオプションを指定します。

ロールフォワードとBROLL.LSTのリスト -> ロールフォワードプロシージャを実行し、実行されたオペレーションをリストする場合は、［ファイルのリスト］チェックボックスだけをオンにします。

リストなしのロールフォワード -> 実行されたオペレーションのリストを必要とせず、ロールフォワードプロシージャを実行する場合は、［リスト専用］および［ファイルのリスト］チェックボックスのどちらもオンにしないでください。

ロールフォワードなしのBROLL.LSTのリスト -> 実際にロールフォワードプロシージャを実行ぜずに、ロールフォワードの対象となるオペレーションのリスト表示のみを行う場合は、［リスト専用］および［ファイルのリスト］チェックボックスをオンにします。

b.3) オプション ： ファイルにオーナネームが必要な場合は、［オーナネーム］入力ボックスにファイルのオーナネームを指定します。

b.4) ［追加］ボタンを選択して、キューに項目を追加します。

キュー内の項目を確認するには、［キュー］ボタンを選択します。詳細については、「キュー内の項目の表示」を参照してください。

c) 項目のキューへの追加が終了したら、［ＯＫ］ボタンを選択します。

・キュー内の項目の表示

［Roll Forwardキュー］ダイアログボックスを表示できるのは、キュー内に項目がある場合だけです。

キュー内の項目を表示するには、次のいずれかの操作を行います。

◇ ［キュー］メニューの［表示］を選択します。

◇ ［ファイルの追加］ダイアログボックスの［キュー］ボタンを選択します。

［Roll Forwardキュー］ダイアログボックスを使って、特定のキュー項目のリストオプション（すなわち、［リスト専用］および［ファイルのリスト］チェックボックスの選択結果）を変更することができます。

次の手順に従います。

a) 変更するリストオプションが指定されている項目を選択します。

b)［リスト専用］および［ファイルのリスト］チェックボックスの設定を行います。

c) リストオプションを変更し終えたら、［ＯＫ］ボタンを選択します。

・キューからの項目の削除

キューから項目を削除するには、次の手順に従います。

a)［Roll Forwardキュー］ダイアログボックスを表示します。

b) 削除する各項目を選択し、［削除］ボタンを選択します。

c) 項目を削除し終えたら、［ＯＫ］ボタンを選択します。


  B.3 (8) キュー内の項目のロールフォワード

変更内容をロールフォワードするすべての項目をキューに置いたら、ロールフォワードプロシージャを開始する準備は整います。

ロールフォワード処理が完了するまでは、データファイルおよび関連するログファイルのバックアップコピーを保持しておいてください。ロールフォワードユーティリティは、各ロールフォワード処理後にログファイルを変更してしまうため、ひとつのログファイルに行うことができるロールフォワード処理は１回のみです。

キュー内の項目をロールフォワードするには、［キュー］メニューの［開始］を選択します。［Roll Forwardリスト］画面が表示され、ロールフォワードされた各ファイルのリストとファイルごとにロギングされたエントリの数が表示されます。

ロールフォワード処理に失敗した場合、失敗の原因となった状況を正しく直し、データおよびログファイルのバックアップコピーを復元して、ロールフォワード処理を再度実行します。エンジンの環境設定が、ロールフォワード処理が行われる時点と元のオペレーションがロギングされた時点とで異なっている場合、ロールフォワード処理が失敗することがあります。

ロールフォワード処理を中止しなければならない場合は、データファイルのバックアップコピーを復元します。


  B.3 (9) データファイルの復元例

ここでは、\MAGICディレクトリの  DMFIL001.DATというファイルについて、バックアップ、復元、ロールフォワードを行ったものと仮定して、説明します。

a)  元のデータファイル (DMFIL001.DAT) のバックアップコピー (DMFIL001.BAK) を作成します。

b)  エンジンのロギング機能を有効にします。

c)   BLOG.CFGファイルに、次のエントリを追加します：

\MAGIC\DMFIL001.DAT

DMFIL001.DATで作業を行うと、、エンジンはデータファイルに変更を加え、そのオペレーションをDMFIL001.LOGにロギングします。

DMFIL001.LOGが過度に大きくなることを防止するために、定期的に、新しいバックアップ  (DMFIL001.BAK) を作成してください。また DMFIL001.LOGの変更内容は既に DMFIL001.BAKにすべて含まれているので、DMFIL001.LOGは削除します。ロギング機能が有効になっていれば、次に DMFIL001.DAT で作業を行ったときに、エンジンにより新しい DMFIL001.LOGが作成されます。

d) システム障害により、DMFIL001.DATが失われたか、破損したとします。

e) DMFIL001.BAKをDMFIL001.DATにコピーして、DMFIL001.DATを復元します。

f) DMFIL001.LOGのバックアップコピー (DMFIL001.LLL) を作成します

（ログファイルは一度しか使用できないので、必ずバックアップコピーを作成してください）。

g) ロールフォワードユーティリティを使用して、DMFIL001.LOGにロギングされているオペレーションをDMFIL001.DATに適用します。

h) 復元されたデータファイル (DMFIL001.DAT) の新しいバックアップコピー (DMFIL001.BAK) を作成します。

i) DMFIL001.LOGとDMFIL001.LLLを削除します。