ddf builder users guide...viii このマニュアルの読者 このマニュアルは、ddf builder...

110
Pervasive PSQL v11 DDF Builder User's Guide Guide to Using DDF Builder

Upload: others

Post on 09-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

Pervasive PSQL v11

DDF Builder User's GuideGuide to Using DDF Builder

Page 2: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

免責事項 Pervasive Software Inc. は、 本ソ フ ト ウ ェアおよびド キ ュ メ ン ト の使用を、 利用者また

はその会社に対し て 「現状のま ま」 で、 かつ同梱の使用許諾契約書に記載の契約条件によ ってのみ許諾する ものです。 Pervasive Software Inc. は、 いかなる場合にも本ソ フ

ト ウ ェアおよび本マニュ アルに記載された内容に関するその他の一切の保証を、 明示的にも黙示的にも行いません。 Pervasive Software Inc. は、 市場性、 権利、 特定の目的

に対する適合性、 あ るいは一連の取引業務や職業的な使用に関する問題などに対し、一切の保証を行わないこ と を明示する と と もに、 利用者およびその会社がこれに同意し た もの と し ます。

商標 Btrieve、 Client/Server in a Box、 Pervasive、 Pervasive Software および Pervasive Software のロ ゴは、 Pervasive Software Inc. の登録商標です。

Built on Pervasive Software、 DataExchange、 MicroKernel Database Engine、 MicroKernel Database Architecture、 Pervasive.SQL、 Pervasive PSQL、 Solution Network、 Ultralight、 ZDBA は Pervasive Software Inc. の商標です。

Microsoft、 MS-DOS、 Windows、 Windows 95、 Windows 98、 Windows NT、 Windows Me、Windows 2000、 Windows 2003、 Windows 2008、 Windows 7、 Windows 8、 Windows Server 2003、

Windows Server 2008、 Windows Server 2012、 Windows XP、 Win32、 Win32s、 および Visual Basic は、 Microsoft Corporation の登録商標です。

NetWare および Novell は Novell, Inc. の登録商標です。 NetWare Loadable Module、 NLM、 Novell DOS、 Transaction Tracking System、 TTS は、 Novell, Inc. の商標です。

Sun、 Sun Microsystems、 Java、 および Sun、 Solaris、 Java を含むすべての商標やロ ゴは、 Sun Microsystems の商標または登録商標です。 すべての会社名および製品名は各社の商標または登録商標です。

© Copyright 2013 Pervasive Software Inc. All rights reserved. このマニュ アルの全文、 一部に関わ り

な く 複製、 複写、 配布をする こ と は、 前も って発行者の書面によ る同意がない限 り 禁止し ます。

本製品には、 Powerdog Industries によ り 開発された ソ フ ト ウ ェ アが含まれています。

© Copyright 1994 Powerdog Industries.All rights reserved. 本製品には、 KeyWorks Software によ り 開発された ソ フ ト ウ ェアが含まれています。

© Copyright 2002 KeyWorks Software.All rights reserved. 本製品には、 DUNDAS SOFTWARE によ り 開発された ソ フ ト ウ ェアが含まれています。

© Copyright 1997-2000 DUNDAS SOFTWARE LTD. All rights reserved. 本製品には、 Apache Software Foundation Foundation (http://www.apache.org/) によ り 開発された

ソ フ ト ウ ェ アが含まれています。 本製品ではフ リ ー ソ フ ト ウ ェ アの unixODBC Driver Manager を使用し ています。 これは Peter Harvey ([email protected]) によ って作成され、 Nick Gorham ([email protected]) に

よ り 変更および拡張された ものに Pervasive Software が一部修正を加えた ものです。 Pervasive Software は、 unixODBC Driver Manager プロ ジェ ク ト の LGPL 使用許諾契約書に従って、 このプ

ロ ジェ ク ト の現在の保守管理者にそのコード変更を提供し ます。 unixODBC Driver Manager の Web ページは www.unixodbc.org にあ り ます。 このプロ ジェ ク ト に関する詳細については、 現在

の保守管理者であ る Nick Gorham ([email protected]) にお問い合せ く だ さい。

GNU Lesser General Public License (LGPL) は本製品の配布 メ デ ィ アに含まれています。 LGPL は www.fsf.org/licensing/licenses/lgpl.html でも見る こ と ができ ます。

DDF Builder User's Guide2014 年 5 月138-004436-004

Page 3: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

目次

このマニュアルについて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viiこ のマニュ アルの読者 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viiiこ のマニュ アルの構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix表記上の規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x

1 DDF Builder について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Btrieve フ ァ イルへの リ レーシ ョ ナル ア ク セスの提供

Pervasive DDF Builder の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2DDF Builder を使用する理由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2DDF Builder では行わないこ と . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2PCC を使用し ない理由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3必要な知識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3DDF Builder のコ ンポーネン ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

DDF Builder の起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6コマン ド ラ イ ンから DDF Builder を起動する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6次に行 う こ と . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2 DDF Builder の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9DDF Builder での作業ガ イ ド

DDF Builder の概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10用語の確認 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10セキ ュ リ テ ィ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10旧バージ ョ ンのデータベース と DDF のバージ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . 11DDF Builder におけるエラーの検出と修正 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11元の定義と変更済み定義の保存 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12テーブル定義エデ ィ ター ページ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12DDF Builder における レガシー ヌル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14DDF Builder における真のヌル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

GUI の リ フ ァ レ ン ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15[よ う こ そ] ページ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16データ ソース エ ク スプローラー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Btrieve フ ァ イル エデ ィ ター . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17テーブル定義エデ ィ ター . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19[テーブル] ページ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20[イ ンデッ ク ス] ページ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22[プレ ビ ュー] ページ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23[統計情報] ページ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23[SQL ビ ュー] ページ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24データベースの追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25テーブルの一貫性のチェ ッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25SQL 定義のコ ピー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Btrieve スキーマのエク スポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Btrieve スキーマのイ ンポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28データ パスの追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28関連するデータ フ ァ イルの変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

iii

Page 4: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

目次

Btrieve 型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29定義エラー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30元の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

DDF Builder の各種作業 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33一般的な作業 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33データ ソース エ ク スプローラーから開始する作業 . . . . . . . . . . . . . . . . . . . . . . . . . 34

3 DDF Builder チュー ト リ アル . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39DDF Builder を使用する ためのサンプル ガ イ ド

DDF Builder チュー ト リ アルの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40チュー ト リ アル 1 の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40チュー ト リ アル 2 の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40事前の確認 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

チュー ト リ アル 1 - DDF Builder でテーブル定義を作成する . . . . . . . . . . . . . . . . . . . . . . . 43シナ リ オ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43必要な知識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Pervasive データベース を作成する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44既存の Btrieve フ ァ イルを開 く . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46DDF Builder によ る調査結果を検証する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47レ コード フ ィ ール ド を定義する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48イ ンデッ ク ス情報を見直す . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55定義し たデータ をプレ ビ ューする . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56終わ り に . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

チュー ト リ アル 2 - DDF Builder でテーブル定義を変更する . . . . . . . . . . . . . . . . . . . . . . . 58シナ リ オ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

レ ッ ス ン 1 - v3.00 の DDF を使った作業 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59シナ リ オ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59必要な知識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Btrieve フ ァ イルを開 く . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59警告 メ ッ セージを理解する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60フ ァ イルを変換する方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60終わ り に . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

レ ッ ス ン 2 - v6.x よ り 前のフ ァ イル形式での作業 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63シナ リ オ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63必要な知識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Btrieve フ ァ イルを開 く . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63警告 メ ッ セージを理解する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64ロ グ フ ァ イルを表示する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64フ ァ イルを リ ビル ドする方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64次に行 う こ と . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65終わ り に . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

レ ッ ス ン 3 - 不正なデータ型と サイ ズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66シナ リ オ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

iv

Page 5: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

目次

目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66必要な知識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66不一致を探す . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67エラーについて理解する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68データ型と サイ ズを検証する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

終的な変更を行 う . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72テーブル定義を保存する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74終わ り に . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

レ ッ ス ン 4 - 列の定義の重複 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75シナ リ オ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75必要な知識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75Btrieve フ ァ イルを開 く . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75不一致を探す . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76エラーについて理解する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77変更を受け入れる または拒否する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78テーブル定義を保存する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78終わ り に . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

レ ッ ス ン 5 - フ ァ イル / フ ィ ール ド フ ラ グの不一致 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80シナ リ オ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80必要な知識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80Btrieve フ ァ イルを開 く . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80不一致を探す . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81エラーについて理解する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82変更を受け入れる または拒否する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83テーブル定義を保存する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83終わ り に . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

レ ッ ス ン 6 - イ ンデッ ク スの不一致 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85シナ リ オ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85必要な知識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85Btrieve フ ァ イルを開 く . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85不一致を探す . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86エラーについて理解する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87イ ンデッ ク スに名前を付ける . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88テーブル定義を保存する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89終わ り に . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

レ ッ ス ン 7 - 可変長レ コード の不一致 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90シナ リ オ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90必要な知識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90Btrieve フ ァ イルを開 く . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90不一致を探す . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91エラーについて理解する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92不明なフ ィ ール ド を定義する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93テーブル定義を保存する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93終わ り に . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

v

Page 6: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

目次

レ ッ ス ン 8 - レ コード長の不一致 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95シナ リ オ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95必要な知識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95Btrieve フ ァ イルを開 く . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95不一致を探す . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96エラーについて理解する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97フ ィ ール ド を定義する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98定義を保存する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99終わ り に . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

vi

Page 7: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

このマニュアルについて

このマニュ アルは DDF Builder で作業を行 う ためのガイ ド です。 DDF Builder の概要、 グ ラ フ ィ カル ユーザー イ

ン ターフ ェ イ ス を構成する コ ンポーネン ト についての説明、 およびこのユーテ ィ リ テ ィ でさ まざまな作業を行 う

際に役立つチュー ト リ アルが含まれています。

vii

Page 8: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

このマニュアルの読者

こ のマニュ アルは、DDF Builder を使用するユーザーを対象と し ています。 こ のマニュ アルで説明し ている手順を

実行するには、データの構造に関する あ る程度の知識や ト ラ ンザク シ ョ ナル ア ク セス方法と リ レーシ ョ ナル ア ク

セス方法の基本的な知識が必要です。

必要に応じ て、 知識が必要であ る と思われる特定の概念や方法についてはこ のマニュ アル内で明確に提示し てい

ます。 それら提示された事項について理解し ていない場合は、 その知識を得てから DDF Builder を使用する よ う

にし て く ださい。

viii

Page 9: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

このマニュアルの構成

こ のマニュ アルは、 以下の章に分かれています。

第 1 章 「DDF Builder について」

こ の章では、DDF Builder と各種コ ンポーネン ト の概要、およびこ のユーテ ィ リ テ ィ を実行する手順について

説明し ます。

第 2 章 「DDF Builder の使用」

こ の章では、DDF Builder のグ ラ フ ィ カル ユーザー イ ン ターフ ェ イ スについて、その機能やビ ュー、ウ ィ ザー

ドおよびエデ ィ ターの制限事項を説明し ます。DDF Builder の使用に関する概念や基本的な作業について も説

明し ています。

第 3 章 「DDF Builder チュー ト リ アル」

こ の章には、 DDF Builder を使用し て作業する 2 つのチュー ト リ アルがあ り ます。 こ のチュー ト リ アルでは、

既存の Btrieve 用に DDF を新規作成し た り 、 既存の Btrieve フ ァ イルに対し て正し く ない既存の DDF を変更

し た り する作業が行えます。

ix

Page 10: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

表記上の規則

特段の記述がない限 り 、 コマン ド構文、 コード、 およびコード例では、 以下の表記が使用されます。

大文字小文字の

区別

通常、 コマン ド と予約語は、 大文字で表記されます。 本書で

別途記述がない限 り 、 これらの項目は大文字、 小文字、 あ る

いはその両方を使って入力でき ます。 た と えば、 MYPROG、

myprog、 または MYprog と入力する こ と ができ ます。

太字 太字で表示 さ れる単語には次の よ う な も のがあ り ます。 メ

ニュー名、 ダ イ ア ロ グ ボ ッ ク ス名、 コマン ド、 オプシ ョ ン、

ボタ ン、 ステー ト メ ン ト など。

固定幅フ ォ ン ト は、 コマン ド構文など、 ユーザーが入力する

テキス ト に使われます。

[ ] 省略可能な情報には、 [log_name] の よ う に、 角かっ こ が使

用されます。角かっ こ で囲まれていない情報は必ず指定する

必要があ り ます。

| 縦棒は、 [file name | @file name] のよ う に、 入力する情報

の選択肢を表し ます。

< > <> は、 /D=<5|6|7> の よ う に、 必須項目に対する選択

肢を表し ます。

変数 file name のよ う に斜体で表されている語は、適切な値に置き

換え る必要のあ る変数です。

. . . [parameter. . . ] のよ う に、情報の後に省略記号が続 く 場合は、

その情報を繰 り 返し使用でき ます。

::= 記号 ::= は、 あ る項目が別の項目用語で定義されている こ と

を意味し ます。 た と えば、 a::=b は、 項目 a が b で定義され

ている こ と を意味し ます。

固定幅フ ォ ン ト

x

Page 11: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

1

DDF Builder について

Btrieve フ ァ イルへの リ レーシ ョ ナル ア ク セスの提供

この章では、 以下の項目について説明し ます。

「Pervasive DDF Builder の概要」

「DDF Builder の起動」

1

Page 12: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder について

Pervasive DDF Builder の概要

DDF Builder は Java ユーテ ィ リ テ ィ で、 基 と なるデータ フ ァ イル (以後、 「Btrieve フ ァ イル」 と呼びます) に変

更を加え る こ と な く 、 Pervasive PSQL データ辞書フ ァ イル (DDF) の表示、 作成、 変更が行えます。 DDF Builder ではさ まざまな機能を提供し ますが、 主に以下のよ う な目的で使用でき ます。

既存の Btrieve データ フ ァ イルへの リ レーシ ョ ナル ア ク セス を可能にするために必要なテーブル定義を作成

する

Btrieve データ フ ァ イルへの リ レーシ ョ ナル ア ク セス を確実に正し く 行え る よ う 既存のテーブル定義を変更

する

メ モ DDF Builder で DDF を作成し た り 変更し て も、Btrieve データ フ ァ イルが変更される こ と はあ り ません。

DDF Builder には上記以外にも次のよ う な機能があ り ます。 また、 これ以外にも さ らに機能があ り ます。

Pervasive PSQL ト ラ ンザク シ ョ ナル イ ン ターフ ェ イ スで使用する Btrieve データ フ ァ イルを新規作成する

Btrieve スキーマを XML フ ァ イルへエク スポー ト する

XML フ ァ イルから Btrieve スキーマへイ ンポー ト する

SQL ステー ト メ ン ト を作成する

DDF Builder を使用する理由

DDF Builder は、 Btrieve データ フ ァ イルを変更する こ と な く 、 Btrieve データ フ ァ イルへの リ レーシ ョ ナル ア ク

セス を追加する こ と ができ る特殊なユーテ ィ リ テ ィ です。通常、DDF Builder は日常的に使用するユーテ ィ リ テ ィ

ではあ り ません。 DDF Builder は既存の Btrieve フ ァ イルへの リ レーシ ョ ナル ア ク セス を追加するために必要に応

じ て使用する もので、 データ辞書フ ァ イルのテーブル定義を作成し た り 、 正し く 構成されていないテーブル定義

へ接続する ために既存のデータ辞書フ ァ イルを変更し た り し ます。

メ モ DDF は SQL メ タデータ用のスキーマを定義し ます。 DDF は、 DDF Builder で SQL ア ク セス をオブジェ

ク ト 、 つま り SQL テーブルで表すこ と ができ る よ う にする システム テーブルです。 DDF を直接変更するの

ではな く 、 SQL テーブル オブジェ ク ト に対し て作業し ます。 SQL テーブルを作成、 変更または削除する と、

DDF Builder が DDF を変更し ます。

1 つのデータベース内にあ るすべての SQL テーブルは同じ DDF のセ ッ ト に定義されます。

旧バージ ョ ンの Pervasive PSQL Control Center のテーブル設計では、 リ ン ク モー ド と非リ ン ク モー ド の 2 つの作

業モー ド を提供し ている も の も あ り ます。 リ ン ク モー ド ではテーブル定義 と データ フ ァ イルの両方を変更する

こ と ができ ますが、非 リ ン ク モード で変更でき るのはテーブル定義のみです。 DDF Builder では、IN DICTIONARY 呼び出し を使って非 リ ン ク モード同様のモード を使用する こ と で、 Btrieve フ ァ イルを変更する こ と な く DDF を

変更し ます。 DDF Builder では Btrieve フ ァ イルへ書き込みを行 う こ と はあ り ません。

DDF Builder では行わないこ と

DDF Builder は既存の Btrieve データ フ ァ イルを変更する目的には使用でき ません。 既存の Btrieve フ ァ イルおよ

び DDF を変更し て リ レーシ ョ ナル ア ク セス を提供するつも り であれば DDF Builder を使用すべきではあ り ませ

ん。その場合は、既存の Btrieve フ ァ イルを変更する Pervasive PSQL Control Center やその他の Pervasive PSQL ユー

テ ィ リ テ ィ を使用する こ と をご検討 く ださい。

また、DDF Builder はキーの作成や変更に使用する ものではあ り ません。キーに関する操作を行 う 場合は、Pervasive PSQL Control Center の Table Editor を使用し ます。 DDF Builder は DDF の作成や変更を目的と し ています。

2

Page 13: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

Pervasive DDF Builder の概要

PCC を使用し ない理由

Pervasive PSQL Control Center は物理データ フ ァ イル とデータ辞書フ ァ イルを同時に操作する、つま り リ ン ク モー

ド で操作する こ と を目的と し ています。 PCC 内で DDF のみを変更し ないで く ださ い。

必要な知識

DDF Builder を使用する場合に も重要なのは、作業対象のデータの構造を完全に理解し てお く こ と です。データ

の構造を理解し ていない と、DDF Builder でテーブル定義を作成し た り 変更する こ と が難し く な るため時間がかか

り 、 こ のユーテ ィ リ テ ィ の効果が得られません。

その他の有用な情報

Pervasive PSQL データベースからデータがア ク セス される と きに用いられる ト ラ ンザク シ ョ ナル と リ レーシ ョ ナ

ル と い う 2 種類の主要なア ク セス方法について理解し ている こ と も役立ちます。 DDF Builder の機能の大部分は、

ト ラ ンザク シ ョ ナル ア ク セスについての知識が役立ちます。それ以外の機能については、 リ レーシ ョ ナル データ

ベースの一般的な概念について よ く 理解し ている こ と が必要です。

メ モ このマニュ アルは、 ト ラ ンザク シ ョ ナル ア ク セス方法と リ レーシ ョ ナルの概念について理解し ている

こ と を前提と し て説明し ています。 これら ト ラ ンザ ク シ ョ ナルおよび リ レーシ ョ ナルに関する説明や、キー、

イ ンデッ ク ス、 ページ タ イプ、 スキーマなどの一般的な用語についての定義は行いません。

DDF Builder を使用する前に理解を深めてお く 必要があ る場合は、 下記の Pervasive PSQL マニ ュ アルを参照

し て く ださい。デフ ォル ト で、Pervasive PSQL 開発者 リ フ ァ レン スのマニュ アルは Pervasive PSQL データベー

ス エンジンのイ ン ス ト ール時に一緒にイ ン ス ト ールされます。

ト ラ ンザク シ ョ ナル アクセス

ト ラ ンザ ク シ ョ ナル ア ク セスの場合、 アプ リ ケーシ ョ ン プロ グ ラ ムは物理的または論理的のどち ら の経路で も

データ レ コード内を前方および後方に移動する こ と ができ ます。 ト ラ ンザク シ ョ ナル API を使用する こ と で、 ア

プ リ ケーシ ョ ン プロ グ ラ ムは直接制御を備え、開発者はデータの基本構造の知識に基づいてデータ ア ク セス を

適化する こ と ができ ます。 Btrieve API を使用する こ と は ト ラ ンザク シ ョ ナル ア ク セスの 1 例です。

ト ラ ンザク シ ョ ナル ア ク セスについて理解を深めるには、 以下のマニュ アルを参照し て く ださい。

Pervasive PSQL Programmer's Guide (開発者 リ フ ァ レン ス)

Btrieve API Guide (開発者 リ フ ァ レン ス)

Advanced Operations Guide (上級者 リ フ ァ レ ン ス)

リ レーシ ョ ナル ア クセス

リ レーシ ョ ナル と は、 データがテーブル、 行、 列の集ま り と し て表される ア ク セス方法です。 リ レーシ ョ ナル モ

デルは、 開発者を基と なるデータ構造から切 り 離し、 データ を単純な表形式で表し ます。 ODBC は リ レーシ ョ ナ

ル ア ク セス方法の 1 例です。

リ レーシ ョ ナル ア ク セスについて理解を深めるには、 以下のマニュ アルを参照し て く ださい。

SQL Engine Reference (上級者 リ フ ァ レ ン ス)

Advanced Operations Guide (上級者 リ フ ァ レ ン ス)

Pervasive PSQL User's Guide (一般 リ フ ァ レン ス)

Pervasive PSQL Programmer's Guide (開発者 リ フ ァ レン ス)

3

Page 14: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder について

次に行 う こ と

DDF Builder でテーブル定義に対し て変更を行 う と DDF の構造が変更されます。 こ のユーテ ィ リ テ ィ の使用前の

注意事項と し て、 作業対象のフ ァ イル (DDF も含む) を必ずバッ ク ア ッ プし ておいて く ださ い (Btrieve フ ァ イル

は、 フ ァ イルのページ構造内にデータが格納される ため、 データ フ ァ イル と も呼ばれます)。

メ モ DDF Builder では既存の Btrieve フ ァ イルのレ コード レ イ ア ウ ト 構造を変更でき ません。 このユーテ ィ

リ テ ィ を使って新しい Btrieve フ ァ イルを作成する こ と はでき ます。

セキュ リ テ ィ の無効化

Pervasive PSQL セキ ュ リ テ ィ モデルが有効なデータベースに対し て作業する場合、 DDF Builder でそのフ ァ イル

を開 く 前にはそのデータベース をオフ ラ イ ンにし、 すべてのセキ ュ リ テ ィ を解除し ておき ます。

DDF Builder のコ ンポーネン ト

ユーテ ィ リ テ ィ 以外にも、 DDF Builder では以下のコ ンポーネン ト があ り ます。

ログ フ ァ イル

ロ グ フ ァ イル- .log

ロ グ フ ァ イルは DDF Builder が問題のあ る状態を報告する フ ァ イルです。こ のロ グ フ ァ イルはデフ ォル ト で、

システムの Application Data デ ィ レ ク ト リ で以下の子デ ィ レ ク ト リ 下にイ ン ス ト ールされます。

<Application Data>\rcp\workspace-builder\.metadata

ヒ ン ト デフ ォル ト のイ ン ス ト ール先については、 『Getting Started with Pervasive PSQL』 の 「Pervasive PSQL フ ァ イルはど こ にイ ン ス ト ールされますか?」 を参照し て く ださ い。

ユーザー向け ド キュ メ ン ト

DDF Builder には 『DDF Builder User's Guide』 と い う ユーザー マニュ アルがあ り 、 これは Pervasive PSQL v11 SP3 のユーザー向け ド キ ュ メ ン ト の一部 と し て含まれてい ます。 こ の ド キ ュ メ ン ト はデフ ォル ト で、 シ ス テ ムの

Program Files デ ィ レ ク ト リ で以下の子デ ィ レ ク ト リ 下にイ ン ス ト ールされます。

<Program Files>\bin\plugins\

Pervasive PSQL v11 SP3 のすべてのユーザー マニュ アルは次の jar フ ァ イルに含まれています。

com.pervasive.psql.doc_1.0.0.jar

ヒ ン ト デフ ォル ト のイ ン ス ト ール先については、 『Getting Started with Pervasive PSQL』 の 「Pervasive PSQL フ ァ イルはど こ にイ ン ス ト ールされますか?」 を参照し て く ださ い。

チュー ト リ アル フ ァ イルのフ ォルダー

DDF Builder では、 第 3 章の 「DDF Builder チュー ト リ アル」 に含まれているチュー ト リ アルで使用する フ ァ イル

のセ ッ ト を イ ン ス ト ールし ます。 こ のチュー ト リ アル フ ァ イルはデフ ォル ト で、システムの Application Data デ ィ

レ ク ト リ で以下の子デ ィ レ ク ト リ 下にイ ン ス ト ールされます。

<Application Data>\DDFBuilder\tutorials\

4

Page 15: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

Pervasive DDF Builder の概要

ヒ ン ト デフ ォル ト のイ ン ス ト ール先については、 『Getting Started with Pervasive PSQL』 の 「Pervasive PSQL フ ァ イルはど こ にイ ン ス ト ールされますか?」 を参照し て く ださ い。

5

Page 16: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder について

DDF Builder の起動

DDF Builder の起動は、 Windows オペレーテ ィ ング システムから、 Pervasive PSQL Control Center (PCC) 内から、

あ るいはコマン ド ラ イ ンから行 う こ と ができ ます。

DDF Builder を Windows オペレーテ ィ ング システムから起動するには

1 [ス ター ト ] メ ニューまたはアプ リ画面から DDF Builder にア ク セス し ます。

DDF Builder メ イ ン ウ ィ ン ド ウが表示されます。

PCC から DDF Builder を起動するには

1 PCC の メ ニュー バーで [ツール| DDF Builder] を ク リ ッ ク し ます。

2 DDF Builder メ イ ン ウ ィ ン ド ウが表示されます。

図 1 DDF Builder メ イ ン ウ ィ ン ド ウ

コ マン ド ラ イ ンから DDF Builder を起動する

DDF Builder は Windows または Linux でコマン ド ラ イ ンから実行可能フ ァ イルを実行する こ と によ って起動する

こ と ができ ます。

Windows

実行可能フ ァ イル builder.exe を実行する と、 DDF Builder が起動し ます。 『Getting Started with Pervasive PSQL』 の

「Pervasive PSQL フ ァ イルはど こにイ ン ス ト ールされますか?」 を参照し て く ださい。

Linux

実行可能ス ク リ プ ト フ ァ イル builder を実行する と、 DDF Builder が起動し ます。 こ のス ク リ プ ト フ ァ イルは、 デ

フ ォル ト で usr/local/psql/bin デ ィ レ ク ト リ にイ ン ス ト ールされます。

フ ァ イル ブラ ウザー アプ リ ケーシ ョ ンでス ク リ プ ト フ ァ イルをダブルク リ ッ クするのでは く 、 コマン ド プロ ン

プ ト から DDF Builder を起動する こ と をお勧めし ます。 「DDF Builder の実行に関する ト ラブルシューテ ィ ング ガ

イ ド」 を参照し て く ださい。

6

Page 17: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の起動

Linux 上で DDF Builder を起動するには、 以下の条件に合致する必要があ り ます。

表 1 Linux で DDF Builder を起動するための要件

要件 説明

同一マシンに互換性のあ る Pervasive PSQL Server または Client が既にイ ン ス ト ールさ

れてい る必要があ り ます。 『Getting Started with Pervasive PSQL』 の 「Pervasive PSQL Server および Client (Linux 版) のイ ン ス ト ール」 を参照し て く ださい。

X-Server へのア ク セス xhost コマン ド は、 どの ク ラ イ アン ト が現在のマシンの X-Windows にア ク セスでき る

かを制御し ます。 デフ ォル ト で、 xhost はア ク セス制御をオンにし ます。 つま り 、 X- Windows を起動し たユーザーのみが DDF Builder を起動でき ます。

X-Windows ク ラ イ アン ト の制限は、ター ミ ナル ウ ィ ン ド ウで xhost + と 入力する こ

と によ って解除でき ます。

Java Runtime Environment (JRE) DDF Builder を実行する ために必要な JRE コ ンポーネン ト は、 Pervasive PSQL の一部

と し て イ ン ス ト ール されます。 DDF Builder は、 Pervasive PSQL の一部 と し て イ ン ス

ト ールされる JRE の 「ローカル」 バージ ョ ンを使用し ます。

DDF Builder を実行する要件に合致し ているのに、 実行に問題があ る場合は、 以下の ト ラブルシューテ ィ ング ガ

イ ド を参考にし て く ださい。

Pervasive PSQL Server または Client

表 2 DDF Builder の実行に関する ト ラブルシューテ ィ ング ガイ ド

ト ラ ブルシューテ ィ ングする状態 説明

"java.lang.UnsatisfiedLinkError" と い う

エラーを受け取った。

このエラーは、 フ ァ イル ブ ラ ウザー アプ リ ケーシ ョ ンを使用し てス ク リ プ ト フ ァ

イルをダブルク リ ッ ク し て DDF Builder を起動し よ う と し た と きに、 よ く 起こ り ま

す。 コマン ド プロ ンプ ト か ら DDF Builder を起動し て く ださい。

こ のエ ラーは、 LD_LIBRARY_PATH 変数が設定 さ れていない場合に発生し ます。

builder ス ク リ プ ト がこの変数を設定し ます。 この変数は、 以下のコマン ド を使用し

て明示的に設定する こ と も でき ます。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/psql/lib

DDF Builder を root またはユーザー

psql と し て実行 し よ う と す る と 、

"SWT no more handles" と い う エ ラー

が返される。

DDF Builder を実行するには、 psql または root ユーザー と し て ロ グ イ ンする必要は

あ り ません。 ただ し、 これらのユーザーのどち ら で も ない場合は、 pvsw グループ

の メ ンバーであ る必要があ り ます。

"SWT no more handles" エラーは、 X-Server が ク ラ イ アン ト への接続を拒否し たため

に発生し ます。 psql または root ユーザーに切 り 替え る前に、 コ ン ソール ウ ィ ン ド

ウ を開き、 xhost + と入力し てほかの ク ラ イ アン ト が X-Server に接続でき る よ う

にし ます。

これで、 psql または root ユーザーに切 り 替え る こ と ができ ます。

また、 場合によ っては DISPLAY 環境変数を設定する必要があ り ます。 psql または

root ユーザーと し て、 コ ン ソール ウ ィ ン ド ウで以下のコマン ド を入力し ます。

export DISPLAY=:0.0

または

export DISPLAY=localhost:0.0

DDF Builder のエ ラー ロ グ フ ァ イ ル

を表示、 ま たはエ ラーを コ ン ソ ール

ウ ィ ン ド ウに リ ダ イ レ ク ト し たい。

デフ ォル ト で、DDF Builder エラーのロ グ フ ァ イルはユーザーのホーム デ ィ レ ク ト

リ の サ ブデ ィ レ ク ト リ に あ り ま す (サ ブ デ ィ レ ク ト リ は、 dir_builder/workspace/.metadata です)。 ト ラブルシ ューテ ィ ングのためには、 エラー

を コ ン ソール ウ ィ ン ド ウに リ ダ イ レ ク ト する と よ り 便利です。

エラーを コ ン ソール ウ ィ ン ド ウに リ ダ イ レ ク ト するには、 DDF Builder の起動時に

"-consoleLog" オプシ ョ ンを使用し ます。

builder -consoleLog

7

Page 18: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder について

DDF Builder のキャ ッ シュ を ク リ アする

DDF Builder は効率を上げる ために一定の情報をキ ャ ッ シュ し ます。 弊社テ ク ニカル サポー ト からの指示に応じ

て ト ラブルシューテ ィ ング目的に、 あ るいはすべてのフ ァ イルを確実に再ロードするために、 キ ャ ッ シ ュ を ク リ

アする必要があ る場合も あ り ます。キ ャ ッ シュは、 DDF Builder をパラ メ ーターを使ってコマン ド ラ イ ンから起動

し た場合にのみク リ アでき ます。

メ モ DDF Builder の通常の使用時には、 起動時にキ ャ ッ シュ を ク リ ア し て も何も利点はあ り ません。 通常使

用の場合は、 「DDF Builder の起動」 の説明の とお り にユーテ ィ リ テ ィ を起動し ます。

DDF Builder のキャ ッ シュ を ク リ アするには

1 DDF Builder を実行中の場合は終了し ます ([フ ァ イル|終了] を ク リ ッ ク し ます)。

2 オペレーテ ィ ング システムでコマン ド プロ ンプ ト またはター ミ ナル ウ ィ ン ド ウ を開き ます。

3 Pervasive PSQL イ ン ス ト ール デ ィ レ ク ト リ の PSQL\bin\ デ ィ レ ク ト リ に移動し ます。

4 「builder -clean」 と入力し て、 Enter キーを押し ます。

これによ り 、 DDF Builder が起動し てキ ャ ッ シュがク リ ア されます。

次に行う こ と

Pervasive DDF Builder の概略を理解し Pervasive DDF Builder を起動でき る よ う になった ら、第 2 章の 「DDF Builder の使用」 に進んで く ださい。 こ の章ではユーテ ィ リ テ ィ のユーザー イ ン ターフ ェ イ スについて説明し ます。

以下のエ ラ ー メ ッ セージ が返 さ れ

た。" データベース エンジンに接続で

き ません。 ターゲ ッ ト マシンがア ク

セス可能で、かつエンジンが実行され

ている こ と を確認し て く ださい。 "

このエラー状況は、 ローカル サーバーを管理し よ う と し た場合に発生し ます。

ローカル サーバーを管理する には、 pvsw グループの メ ンバーであ る か root ユー

ザーであ る必要があ り ます。 『Getting Started with Pervasive PSQL』 の 「Linux での

Pervasive PSQL のアカ ウ ン ト 管理」 を参照し て く ださい。

root 以外の ユーザー と し て DDF Builder を起動し よ う と する と 、 "GTK IM Module SCIM: Cannot connect to Panel!" と い う エラーが返される。

い く つかの Linux OS では、 環境変数 GTK_IM_MODULE を指定する必要があ り ま

す。

こ の問題を解決するには、 DDF Builder を起動する前にコ ン ソール ウ ィ ン ド ウで、

以下のコマン ド を入力し ます。

export GTK_IM_MODULE=scim-bridge

表 2 DDF Builder の実行に関する ト ラブルシューテ ィ ング ガイ ド

ト ラ ブルシューテ ィ ングする状態 説明

8

Page 19: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

2

DDF Builder の使用

DDF Builder での作業ガ イ ド

この章では、 以下の項目について説明し ます。

「DDF Builder の概念」

「GUI の リ フ ァ レン ス」

「DDF Builder の各種作業」

9

Page 20: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の使用

DDF Builder の概念

こ のセ ク シ ョ ンでは、 DDF Builder での作業に関する概念的な情報を提供し ます。 以下のセ ク シ ョ ンがあ り ます。

「用語の確認」

「セキ ュ リ テ ィ 」

「旧バージ ョ ンのデータベース と DDF のバージ ョ ン」

「DDF Builder におけるエラーの検出と修正」

「元の定義と変更済み定義の保存」

「テーブル定義エデ ィ ター ページ」

「DDF Builder における レガシー ヌル」

「DDF Builder における真のヌル」

用語の確認

DDF Builder で作業を開始する前に、 こ のマニュ アルで使用し ている用語について も う 一度確認し て く ださ い。用

語には、 リ レーシ ョ ナル データベース モデルでのみ使用される ものも あれば、 ト ラ ンザク シ ョ ナル データベー

ス モデルに関する ものも あ り ます。DDF Builder は ト ラ ンザク シ ョ ナル データから リ レーシ ョ ナル テーブル定義

を作成する よ う 設計されている ため、 これら 2 つのモデルを一つの場所で一緒に用います。 ト ラ ンザク シ ョ ナル

モデルで使用される用語が リ レーシ ョ ナル モデルでは異なる意味になる こ と も あ る ため、 こ こ での情報は役に立

ちます。 次の表に、 こ のマニュ アルで使用される用語を示し ます。

用語 定義

データベース DDF のセ ッ ト 、 テーブル定義、 データ フ ァ イルのセ ッ ト および DSN を含めたフ ァ イルの集合体。

フ ァ イル

テーブル

Btrieve 物理フ ァ イルまたは SQL テーブル名。

辞書

データ辞書

システム カ タ ロ グ

システム テーブル

データ ( メ タデータ) のテーブル定義を含める こ と ができ る DDF フ ァ イルのセ ッ ト 。

テーブル定義 Btrieve フ ァ イルに対応する DDF のエン ト リ 。

DDF

システム テーブル

システム オブジェクト

拡張子が .ddf のフ ァ イル。 DDF は、 リ レーシ ョ ナル データベース ( メ タデータ) の制約内でフ ァ

イルを定義する ための手段を提供する システム テーブルです。

キー

イ ンデッ ク ス

特定の順序でテーブルまたはフ ァ イルを ソー ト し た り 、特定の値の検索を 適化する ために指定さ

れるデータ。

セキュ リ テ ィ

DDF Builder でセキ ュ リ テ ィ が有効なデーターベース を扱 う 場合は、 DDF Builder でそのフ ァ イルを開 く 前にすべ

てのセキ ュ リ テ ィ を無効にし てお く こ と をお勧めし ます。 セキ ュ リ テ ィ を無効にでき なかった場合、 DDF Builder では呼び出しが実行される たびに安全な ロ グ イ ン と パス ワード を要求し ます。呼び出し ご と にこの要求があ る と、

テーブル定義の作成や変更に必要な回数によ っては作業効率の低下を招 く 恐れも あ り ます。

10

Page 21: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の概念

旧バージ ョ ンのデータベース と DDF のバージ ョ ン

DDF Builder は Pervasive PSQL v9.x 以上のバージ ョ ンでサポー ト されます。 Scalable SQL v4.00 以上で作成された

DDF は Btrieve データ フ ァ イル v6.x 以上 と一緒にサポー ト されます。

Scalable SQL v3.xx 以前のバージ ョ ン

Scalable SQL v3.xx 以前のバージ ョ ンで作成された DDF があ る場合は、 それを DDF Builder で開 く 前に変換し て

お く 必要があ り ます。

こ の手順については、 「レ ッ ス ン 1 - v3.00 の DDF を使った作業」 を参照し て く ださい。

Btrieve v5.x 以前のバージ ョ ン

DDF Builder ではバージ ョ ン 6.x のフ ァ イルをサポー ト し ますが、 バージ ョ ン 6.x よ り 前に作成されたフ ァ イルは

サポー ト し ません。 Btrieve v5.x 以前に作成された Btrieve データ フ ァ イルがあ る場合は、 それを DDF Builder で

開 く 前に リ ビル ド し てお く 必要があ り ます。

こ の手順については、 「レ ッ ス ン 2 - v6.x よ り 前のフ ァ イル形式での作業」 を参照し て く ださい。

DDF Builder におけるエラーの検出と修正

Btrieve フ ァ イルに関連付け られている既存のテーブル定義を開 く 場合、 DDF Builder では一連の比較と チェ ッ ク

を行います。 これらの比較と チェ ッ ク によ ってエラーが検出される と、 DDF Builde はテーブル定義に対し て一定

の調整を行 う こ と があ り ます。 テーブル定義に対する変更は定義エラー ビ ューに記録されます。

メ モ DDF Builder では必ず元のテーブル定義を保持するので、 DDF Builder で行った変更がテーブル定義に

自動的に保存されて し ま う こ と はあ り ません。 変更されたテーブル定義または元のテーブル定義のどち らか

を別名で保存すれば両方の定義を保持でき ます。

DDF Builder が行 う 変更の評価と可能性を理解でき る よ う 、 DDF Builder がたど る手順を見てみま し ょ う 。

まず、 DDF Builder は Btrieve フ ァ イルを調べて、 レ コード長、 イ ンデッ ク ス、 イ ンデッ ク ス セグ メ ン ト など適切

な内容を分析し ます。 次に、 DDF Builder は既存の DDF を開き、 その DDF に含まれる情報を見て Btrieve フ ァ イ

ル と比較し ます。 双方の内容が互いに一致するかし ないか、 体系的に比較されます。

DDF Builder では、 Btrieve フ ァ イルで見つかった内容を基準にし てエラーや問題を検出および修正し ます。 次の

例でわか り やす く 説明し ます。

例 1 - イ ンデ ッ クスの不一致

1 つのキーを含む Btrieve フ ァ イルがあ り ます。テーブル定義にはこれに対応する イ ンデッ ク スがあ り ません。DDF Builder では Btrieve フ ァ イルを変更する こ と はでき ないので、 この Btrieve フ ァ イルで定義されている キーがイ ン

デッ ク ス と し てテーブル定義へ引き継がれます。

こ の種の状況を処理する場合の情報については、 「レ ッ ス ン 6 - イ ンデッ ク スの不一致」 を参照し て く ださい。

例 2 - レ コー ド長の不一致

Btrieve フ ァ イルには総レ コード長が 120 バイ ト で定義されている レ コード があ り ますが、 テーブル定義では 100 バイ ト 分しか定義されていませんでし た。 DDF Builder では Btrieve レ コード を変更できないので、 テーブル定義

の方に、 割 り 当て られていない 20 バイ ト の列を追加し ます。

こ の種の状況を処理する場合の情報については、 「レ ッ ス ン 8 - レ コード長の不一致」 を参照し て く ださい。

11

Page 22: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の使用

例 3 - フ ラグの不一致

Btrieve フ ァ イルのキーには、 テーブル定義内の対応する SQL イ ンデッ ク スのフ ラ グ設定 と一致し ないフ ラ グが

あ り ます。 前の例と同様、 DDF Builder では Btrieve フ ァ イルを変更できないので、 テーブル定義の SQL イ ンデッ

ク スにおける フ ラ グ設定は Btrieve フ ァ イルのフ ラ グ設定と一致する よ う 変更されます。

こ の種の状況を処理する場合の情報については、 「レ ッ ス ン 5 - フ ァ イル / フ ィ ール ド フ ラ グの不一致」 を参照

し て く ださい。

メ モ 第 3 章の 「DDF Builder チュー ト リ アル」 では、 DDF Builder で作業時に発生する可能性があ る さ まざ

まな状況に対応する手順を提供し ます。

DDF Builder ではすべての問題を修正する こ と はでき ません。DDF Builder で検出され修正される問題については、

「テーブル定義エラー」 を参照し て く ださい。

元の定義と変更済み定義の保存

DDF Builder は既存のテーブル定義に対し て推奨する変更を行いますが、 その変更を保持する よ う 要求された り 、

あ るいは元のテーブル定義を破棄する よ う 要求される こ と はあ り ません。

変更し た定義または元の定義のどち らかを別名で保存すれば、 両方の定義を保存し てお く こ と ができ ます。 DDFBuilder によ って行われた変更を受け入れる場合、変更し たテーブル定義か元のテーブル定義のどち らかを別名で

保存でき ます。

DDF Builder によ って行われた変更を拒否する場合、 元のテーブル定義は元の名前で保持されます。

テーブル定義エデ ィ ター ページ

テーブル定義エデ ィ ターは、 テーブル定義のビ ュー、 作成および変更に使用するい く つかの情報ページで構成さ

れます。 テーブル定義エデ ィ ターには以下のページがあ り ます。

[テーブル] ページ

[イ ンデッ ク ス] ページ

[プレ ビ ュー] ページ

[統計情報] ページ

[SQL ビ ュー] ページ

[テーブル] ページ

[テーブル] ページはテーブル定義の作成や変更時に大半の作業を行 う ページです。 こ の [テーブル] ページに

は、 未加工データ ビ ュー と グ リ ッ ド データ ビ ューがあ り ます。

未加工データ ビ ュー

未加工データ ビ ューでは Btrieve フ ァ イルのデータ を ASCII と 16 進数表示で見る こ と ができ ます。 このビ ューに

はレ コード長、 オフセ ッ ト およびフ ィ ール ド サイ ズ も表示されます。

また、 未加工データ ビ ューでは列、 ヌル イ ンジケーターの判断や、 不明なフ ィ ール ドやバイ ト を特定するために

必要なビジュ アル イ ンジケーターも提供し ます。

ヒ ン ト 未加工データ ビ ューで使用 さ れる ビジ ュ アル イ ンジケーターの詳細については、 「未加工データ

ビ ューでのフ ィ ール ド属性」 を参照し て く ださい。

12

Page 23: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の概念

グ リ ッ ド データ ビ ュー

グ リ ッ ド データ ビ ューは、 Pervasive PSQL Control Center の SQL Editor に見られる グ リ ッ ド ウ ィ ン ド ウ ビ ューの

機能に似ています。

イ ンデ ッ ク スに使用さ れる フ ィ ール ド はサ イ ズや型を変更する こ と がで き ません。 フ ィ ール ド 名のみグ リ ッ ド

データ ビ ューで変更でき ます。 イ ンデッ ク スの追加、 イ ンデッ ク スの削除、 またはその他のイ ンデッ ク ス情報の

変更を行 う には、Btrieve Maintenance ユーテ ィ リ テ ィ を使用し て Btrieve フ ァ イルを直接変更する必要があ り ます。

ヒ ン ト グ リ ッ ド データ ビ ューで使用される ビジ ュ アル イ ンジケーターの詳細については、 「グ リ ッ ド デー

タ ビ ューでのフ ィ ール ド属性」 を参照し て く ださい。

[イ ンデ ッ クス] ページ

[イ ンデッ ク ス] ページでは、 DDF Builder が Btrieve フ ァ イルで検出し た イ ンデッ ク ス と イ ンデッ ク ス セグ メ ン

ト を見る こ と ができ ます。 このページから イ ンデッ ク スやイ ンデッ ク ス セグ メ ン ト を追加し た り 変更し た り する

こ と はでき ません。 [イ ンデッ ク ス] ページで可能なのはイ ンデッ ク ス名の変更のみです。 [テーブル] ページで

イ ンデッ ク ス フ ィ ール ド名を変更し た場合、 その変更は [イ ンデッ ク ス] ページで リ アルタ イ ムに反映されその

フ ィ ール ド名が更新されます。

メ モ イ ンデッ ク スの名前付けに必要な手順については、 「イ ンデッ ク スの名前を付ける」 を参照し て く ださ

い。

オルタ ネー ト コ レーテ ィ ング シーケンス (ACS) フ ァ イル

オルタネー ト コ レーテ ィ ング シーケン ス (ACS) フ ァ イルを使用する Btrieve フ ァ イルで作業する場合、その ACS フ ァ イルは作業対象の Btrieve フ ァ イル と同じデ ィ レ ク ト リ にあ り 、 拡張子は .ALT (UPPER.ALT や LOWER.ALT など) であ る必要があ り ます。

[プレビ ュー] ページ

[プレ ビ ュー] ページでは、現在のテーブル定義を使用し て書式設定されたフ ァ イルのデータ を見る こ と ができ ま

す。 テーブル定義を変更する と、 それに応じ て こ のプレ ビ ューも変わ り ます。

[プレ ビ ュー] ページは読み取 り 専用なので、 こ のページに表示される情報を編集する こ と はでき ません。 ただ

し、 こ のページの下部にあ る矢印ボタ ンを使ってレ コード を移動する こ と はでき ます。

[統計情報] ページ

[統計情報] ページでは、テーブル定義エデ ィ ター で開いたフ ァ イルの Btrieve フ ァ イル統計情報が表示されます。

こ のページに表示される情報は、 Btrieve Maintenance ユーテ ィ リ テ ィ で こ のフ ァ イルに対し て生成された統計情

報レポー ト で報告される情報と同じです。

[SQL ビ ュー] ページ

[SQL ビ ュー] ページでは、 テーブル定義の作成や変更を反映し た SQL ステー ト メ ン ト が表示されます。 テーブ

ル定義を変更する と、 その基と なる SQL ステー ト メ ン ト は [SQL ビ ュー] ページで直ちに更新されます。

13

Page 24: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の使用

こ のページの情報は読み取 り 専用なので、 こ のページ上で内容の変更を行 う こ と はでき ません。 必要であれば、

ステー ト メ ン ト を選択し てコ ピーし別の場所で使用し て く ださ い。

注意 Pervasive 辞書システム オブジェ ク ト への参照が含まれる ステー ト メ ン ト は再利用し ないで く ださい。

これらのオブジェ ク ト は X$< テーブル名 > と い う 書式で簡単に特定され、所有者から再利用を禁止する コ メ

ン ト が記述されています。

DDF Builder におけるレガシー ヌル

Pervasive.SQL 2000 (v7.5) よ り 前の Pervasive.SQL および Scalable SQL のバージ ョ ンでサポー ト し ていたのはレ

ガシー ヌルのみです。 レガシー ヌルを使用する フ ァ イルは DDF Builder で認識されますが、 DDF Builder で作業

する場合は、 こ のタ イプのヌルを処理する ために必要なア ク シ ョ ンはあ り ません。

DDF Builder における真のヌル

Pervasive.SQL 2000 では真のヌルに対するサポー ト が追加されま し た。 真のヌルについては、 フ ィ ール ド の先頭

にあ るバイ ト で、 ヌル イ ンジケーター バイ ト と し て も知られています。 これは、 該当する列にヌル値の可否を指

定する ために用いられます。

真のヌルを使った作業

DDF Builder でレ コー ド フ ィ ール ド を定義する場合、 レ コード 内にヌル値を許可する フ ィ ール ド があ るかど う か

を知っている こ と が重要です。 なぜな ら、 レ コー ド の一部分でヌル値を許可する こ と にし た場合、 1 バイ ト が余

分にフ ィ ール ドへ追加されるからです。 フ ァ イルは Btrieve フ ァ イルであ る ため、 レ コード でヌル値が許可される

部分は、 ヌル イ ンジケーター バイ ト を使用する こ と で指定されます。 ヌル イ ンジケーター バイ ト は、 テーブル

定義エデ ィ ターの未加工データ ビ ューでフ ィ ール ド または列の直前のバイ ト に該当し ます。[ヌル]チェ ッ ク ボ ッ

ク スが選択される と、 ヌル イ ンジケーター バイ ト がア ク テ ィ ブにな り 、 そのヌル イ ンジケーター バイ ト 分を確

保する ためフ ィ ール ド のサイ ズは自動的に 1 バイ ト 削減されます。

メ モ Pervasive.SQL 2000 よ り 前に作成されたフ ァ イルで作業する場合、 ヌルはほ と んど問題にな り ません。

ヌル値を許可する フ ィ ールド の作成

DDF Builder でヌルを許可する フ ィ ール ド を作成する際は、 フ ィ ール ド のサイ ズ と ヌル イ ンジケーター用に必要

な 1 バイ ト を考慮する必要があ り ます。これはヌル値が可能なフ ィ ール ド のサイ ズを 25 バイ ト にするつも り でれ

ば、 実際は 26 バイ ト と し て定義し、 1 バイ ト 分を ヌル イ ンジケーター用に確保する こ と を意味し ます。 フ ィ ール

ド に対し てヌル値を許可する よ う 指定する と、 そのフ ィ ール ド のサイ ズは自動的に DDF Builder によ って 1 バイ

ト 削減されます。

メ モ ヌル値を許可する列と ヌル値を許可し ない列での作業例については、 チュー ト リ アル 1 の例で 「未加

工データ ビ ューでヌル値を許可する列を作成する」 と 「グ リ ッ ド データ ビ ューでヌル値不可の列を ヌル値

を許可する列に変更する」 を参照し て く ださい。

14

Page 25: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

GUI のリ フ ァ レンス

GUI のリ フ ァ レンス

DDF Builder ではグ ラ フ ィ カル ユーザー イ ン ターフ ェ イ ス (GUI) が利用でき ます。 この GUI には、 オブジェ ク

ト の表示や作業に使用する さ まざまなエデ ィ ター、 ビ ューおよびウ ィ ザード があ り ます。

編集中のオブジェ ク ト は、 エデ ィ ター上部にタブによ って示されます。 タブにはオブジェ ク ト の名前が表示され

ます。 エデ ィ ター内で変更し たデータは明示的に保存する必要があ り ます。

ビ ューは、 一度に 1 つのみ開 く こ と ができ ます。 ビ ュー内で実行された操作は直ちに適用されます。 明示的に保

存する必要はあ り ません。

ウ ィ ザード では 1 つまたは複数のダ イ ア ロ グによ って特定の結果を得る ための作業手順を導き ます。

以下の表に DDF Builder で提供されるエデ ィ ター、 ビ ューおよびウ ィ ザード を示し ます。

表 3 DDF Builder のエデ ィ ター、 ビ ューおよびウ ィ ザー ド

説明

○ 「データ ソース エ ク スプローラー」

Btrieve フ ァ イル エデ ィ ター ○ 「Btrieve フ ァ イル エデ ィ ター」

テーブル定義エデ ィ ター ○ 「テーブル定義エデ ィ ター」

SQL Editor ○ 『Pervasive PSQL User's Guide』 の 「SQL Editor」 の章 1

グ リ ッ ド ウ ィ ン ド ウ ビ ュー ○ 『Pervasive PSQL User's Guide』 の 「グ リ ッ ド ウ ィ ン ド

ウ ビ ュー」 セ ク シ ョ ン 1

テキス ト ウ ィ ン ド ウ ビ ュー ○ 『Pervasive PSQL User's Guide』 の 「テキス ト ウ ィ ン ド

ウ ビ ュー」 セ ク シ ョ ン 1

ア ウ ト ラ イ ン ○ 『Pervasive PSQL User's Guide』 の 「ア ウ ト ラ イ ン ウ ィ

ン ド ウ ビ ュー」 セ ク シ ョ ン 1

データベースの追加 ○ 「データベースの追加」

テーブルの一貫性のチ ェ ッ ク

(デー タ ベー ス の確認お よ び

テーブルの確認)

○ 2 「テーブルの一貫性のチェ ッ ク」

SQL 定義のコ ピー ○ 「SQL 定義のコ ピー」

Btrieve スキーマのエクスポート ○ 「Btrieve スキーマのエ ク スポー ト 」

Btrieve スキーマのイ ンポー ト ○ 「Btrieve スキーマのイ ンポー ト 」

関連するデータファイルの変更 ○ 「関連するデータ フ ァ イルの変更」

Btrieve 型 ○ 「Btrieve 型」

定義エラー ○ 「定義エラー」

元の定義 ○ 「元の定義」

1DDF Builder と PCC では同じ コ ンポーネン ト を共有し ています。 こ のため、 共有するエデ ィ ター、 ビ ューおよびウ ィ ザー

ド についてはほかの Pervasive PSQL マニュ アルで説明し てお り 、 この 『DDF Builder User's Guide 』 では説明し ていません。

2 データベース チェ ッ クやテーブルの一貫性チェ ッ ク ア ク シ ョ ンはデータ ソース エ ク スプローラーで選択を行 う こ と を除

けば、 ダ イ ア ロ グではな く ウ ィ ザード のよ う な ものです。 ただし、 一貫性のチェ ッ ク の結果はビ ューのよ う な様式で表示さ

れます。

GUI コンポーネント エディター ビュー ウィザード

データ ソース エクスプローラー

15

Page 26: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の使用

[よ う こそ] ページ

DDF Builder の起動時には [よ う こ そ] ページが表示されます。 こ のページから迅速にさ まざまな情報へア ク セス

し た り 、 共通のタ ス ク を実行する こ と ができ ます。

こ のページから実行でき る共通のタ ス クはサーバーの新規作成やデータベースの新規作成です。

また、 こ のページからはさ まざまな情報も得る こ と ができ ます。 各種情報に素早 く ア ク セスでき る リ ン ク もい く

つかあ り ます。 [よ う こ そ] ページで提供される情報は、 以下の とお り です。

Getting Started with PSQL DDF Builder

PSQL DDF Builder チュー ト リ アル

Pervasive PSQL 各種オン ラ イ ン マニュ アル

FAQ

AG-TECH PSQL ラ イブラ リ

アクセス方法

DDF Builder の [よ う こ そ] ページは、 一度閉じ て し ま って も いつで も開 く こ と がで き ます。 DDF Builder の メ

ニュー バーで [ヘルプ| よ う こそ] を ク リ ッ クする と [よ う こ そ] ページが表示されます。

図 2 DDF Builder [よ う こそ] ページ

データ ソース エクスプローラー

DDF Builder では データ ソース エクスプローラー と呼ばれるオブジェ ク ト ツ リ ー形式のフ ァ イル エク スプロー

ラーを使用し ます。 オブジェ ク ト には、 データベース、 データ パス、 Btrieve フ ァ イルおよび SQL テーブルなど

があ り ます。 ツ リ ー オブジェ ク ト は ノ ー ド と呼ばれます。

16

Page 27: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

GUI のリ フ ァ レンス

図 3 データ ソース エクスプローラー

ノ ード は展開し た り 折 り たたんだ り し て、 下位 ノード の表示 / 非表示を切 り 替え る こ と ができ ます。 ノード に下

位ノ ード があ る場合は、 その ノ ード の左側に展開 / 折 り たたみ用ア イ コ ンが表示されます。

Btrieve フ ァ イル エデ ィ ター

Btrieve フ ァ イル エデ ィ ターでは新しい Btrieve フ ァ イル用のフ ァ イル仕様およびキー仕様を作成し ます。 DDF は

新し い Btrieve フ ァ イルに対し て自動的に作成 さ れません。 DDF が必要な場合は別途追加する必要があ り ます

(「SQL テーブル」 を参照)。

ヒ ン ト Btrieve フ ァ イルおよびその DDF を作成するには、Pervasive PSQL Control Center の SQL Editor を使用

し ます。

アクセス方法

データ ソース エ ク スプローラーで、[データ パス] ノード の直下にあ る作業対象のデータ パス ノード を右ク リ ッ

ク し、 [Btrieve フ ァ イルの作成] を ク リ ッ ク し ます。

17

Page 28: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の使用

図 4 Btrieve フ ァ イル エデ ィ ター

Btrieve フ ァ イルは物理ス ト レージに置 く 必要があ り ます。 これは Btrieve フ ァ イル エデ ィ ターがデータ パスから

起動されるからです。

機能

Btrieve フ ァ イル エデ ィ ターには、 フ ァ イルの特性を指定する タブ と キーの特性を指定する タブがあ り ます。各タ

ブにあ る [適用] ボ タ ン を ク リ ッ クする と、 そのタブで指定し た仕様が保存されます。 [フ ァ イル|保管] を ク

リ ッ クする と両方のタブで行った変更を一括保存し ます。

Btrieve フ ァ イルを作成する ためには、 少な く と も フ ァ イル名 と レ コー ド 長を指定する必要があ り ます。 こ れは

[フ ァ イル スペッ ク] タブで指定し ます。

「必要な知識」 でも述べている よ う に、 こ のマニ ュ アルは、 ト ラ ンザ ク シ ョ ナル ア ク セス方法 と リ レーシ ョ ナル

の概念について十分に理解し ている こ と を前提と し て説明し ています。 こ のセ ク シ ョ ンでは Btrieve フ ァ イル エ

デ ィ ターのタブにあ る コ ン ト ロールについては説明し ません。 Btrieve フ ァ イルについて さ らに理解を深める必要

があ る場合は、 次の表で提供する関連ド キ ュ メ ン ト を参照し て く ださ い。

表 4 Btrieve フ ァ イルの作成に関連する ド キュ メ ン ト

タ ブ 上級者リ フ ァ レンス マニュアル 開発者リ フ ァ レンス マニュアル

フ ァ イル スペッ ク 『Advanced Operations Guide』

「フ ァ イル サイ ズ」 「オーナーネームおよびセキ ュ リ テ ィ 」

「システム データの作成」

「フ ァ イル情報エデ ィ ター」

『Pervasive PSQL Programmer's Guide』

「 ト ラ ンザク シ ョ ナル イ ン ターフ ェ イ スの基礎」の章

「データベースの設計」 の章

キー スペッ ク 『Advanced Operations Guide』

「重複キーの操作方法」

『Pervasive PSQL Programmer's Guide』

「 ト ラ ンザク シ ョ ナル イ ン ターフ ェ イ スの基礎」の章 「データベースの設計」 の章 「レ コード の処理」 の章 「データベースの作成」 の章

18

Page 29: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

GUI のリ フ ァ レンス

制限事項

一度に作成でき る Btrieve フ ァ イルは 1 つだけです。 [キー スペッ ク] タブで、 セグ メ ン ト キーのセグ メ ン ト を追

加または変更し た ら [適用] を ク リ ッ ク し ます。 これによ り 、 各セグ メ ン ト への変更が保存され、 次のセグ メ ン

ト を新たに作成または編集する こ と ができ ます。

テーブル定義エデ ィ ター

テーブル定義エデ ィ ターでは SQL メ タデータ用のスキーマを新規作成し た り 既存のスキーマを変更し ます。テー

ブル定義エデ ィ ターの概念は Pervasive PSQL Control Center (PCC) の Table Editor と同様であ る こ と に注意し て く

ださい。 『Pervasive PSQL User's Guide』 の 「Table Editor」 の章を参照し て く ださい。

アクセス方法

データ ソース エ ク スプローラーで以下の操作のいずれかを実行し ます。

Btrieve フ ァ イル名を右ク リ ッ ク し、 [テーブル定義の作成] を ク リ ッ ク し ます。

SQL テーブル名をダブルク リ ッ ク し、 既存のテーブル定義を編集し ます。

SQL テーブル名を右ク リ ッ ク し、 [テーブル定義の編集] を ク リ ッ ク し ます。

図 5 テーブル定義エデ ィ ター

機能

テーブル定義エデ ィ ターは、 Pervasive PSQL Control Center (PCC) の Table Editor と同様に、 タブまたはページを

使用し てテーブル定義情報のさ まざまなビ ューを表示し ます。 読み取 り 専用の情報ページ も あれば、 テーブル定

義を作成し た り 編集し た り する作業領域を持つページ も あ り ます。

制限事項

列が Btrieve フ ァ イルのキーと し て使用されている場合、 その列のサイ ズ、オフセ ッ ト およびデータ型を変更する

こ と はでき ません。 DDF Builder は既存の Btrieve フ ァ イルのレ イ ア ウ ト 構造を変更し ませんし、 また変更を許可

し ていません。

19

Page 30: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の使用

[テーブル] ページ

テーブル定義エデ ィ ターの [テーブル] ページでは、 メ タデータの未加工データ ビ ュー と グ リ ッ ド データ ビ ュー

と い う 2 種類の主要なビ ューを提供し ます。 これら 2 種類のビ ューはそれぞれ Btrieve フ ァ イルおよび SQL テー

ブルにおける テーブル定義情報を表示し ます。

アクセス方法

[テーブル] ページはテーブル定義エデ ィ ターの下部にあ る [テーブル] タブを ク リ ッ ク し て開き ます。

図 6 テーブル定義エデ ィ ター の [テーブル] ページ タ ブ

未加工データ ビ ュー

未加工データ ビ ューではデータ レ コー ド の 16 進値 と ASCII 値を同時に表示し ます。 また、 こ のビ ューではレ

コード長のほか、 オフセ ッ ト や選択し たバイ ト 数も表示し ます。 こ のオフセ ッ ト やサイ ズの値は、 ビ ュー内で選

択し たバイ ト 位置やバイ ト 数に応じ て変わ り ます。

未加工データ ビ ューの上部にはフ ィ ール ド、 列、 ヌルおよび不明であ る こ と を示すイ ンジケーターが表示されま

す。 フ ィ ール ド イ ンジケーターは、 レ コード内で各フ ィ ール ド の開始位置を示し ます。 ヌル イ ンジケーターはヌ

ル イ ンジケーター バイ ト が置かれる場所を示し ます。 不明なフ ィ ール ドやバイ ト も未加工データ ビ ューで示さ

れます。

図 7 テーブル定義エデ ィ ターの未加工データ ビ ュー

次に未加工データ ビ ューで表示される属性を挙げます。

表 5 未加工データ ビ ューでのフ ィ ールド属性

属性 説明

エラー メ ッ セージ エラーや警告の状態を表示し ます。

レ コード長 レ コード全体の長さ を表示し ます。 可変長部分は除外されます。

位置 (オフセ ッ ト ) 選択し たバイ ト またはフ ィ ール ド の先頭および末尾の位置を表示し ます。

サイ ズ 選択し たバイ ト またはフ ィ ール ド のサイ ズ (バイ ト 単位) を表示し ます。

データ イ ンジケーター フ ィ ール ド / 列イ ンジケーター ( ) は、 レ コード内における各フ ィ ール ド の開始位置を示

し ます。

フ ィ ール ド がヌル値可能と し て指定されている場合は、 ヌル イ ンジケーター ( ) を表示し

ます。 このバイ ト はヌル イ ンジケーター バイ ト であ る こ と を表し ます。

フ ィ ール ド が未定義の場合は、 不明なフ ィ ール ド イ ンジケーター ( ) を表示し ます。

バイ ト が未定義の場合は、 不明なバイ ト イ ンジケーター ( ) を表示し ます。

20

Page 31: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

GUI のリ フ ァ レンス

グ リ ッ ド データ ビ ュー

グ リ ッ ド データ ビ ューでは、表のよ う なグ リ ッ ド にフ ィ ール ド のスキーマ構造を表示し ます。各フ ィ ール ド はグ

リ ッ ド上で行と し て表されます。 各行には各フ ィ ール ド の属性を示すセルが含まれます。

図 8 テーブル定義エデ ィ ターのグ リ ッ ド データ ビ ュー

次にグ リ ッ ド データ ビ ューで表示される属性を挙げます。

表 6 グリ ッ ド データ ビ ューでのフ ィ ールド属性

属性 説明

列インジケーター フ ィ ール ド がキー (イ ンデッ ク ス) 定義に使用される場合は、 キー ア イ コ ン ( ) が表示されます。

フ ィ ール ド が不明な場合は、 不明であ る こ と を示すア イ コ ン ( ) が表示されます。

フ ィ ール ド が不明な可変長部分であ る場合は、 可変ア イ コ ン ( ) が表示されます。

フ ィ ール ド テーブルのフ ィ ール ド名を表示し ます。

位置 (オフセット) オフセ ッ ト 、 つま り 、 レ コード内のフ ィ ール ド の位置を基準点 0 からの差で表し た値を表示し ます。

表示のみ

サイ ズ フ ィ ール ド のサイ ズ (バイ ト 単位) を表示し ます。

Btrieve 型 フ ィ ール ド の Btrieve データ型を表示し ます。

SQL 型 フ ィ ール ド の SQL データ型を表示し ます。

表示のみ

桁数 浮動小数点数値の場合、 有効な桁数を表示し ます。

小数位 浮動小数点数値の場合、 小数点の右側に現れる有効な桁数を表示し ます。

ヌル フ ィ ール ド でヌル値を使用する場合は選択し ます。

大小文字無視 フ ィ ール ド で大文字と 小文字を区別し ない場合は選択し ます。

プレ ビ ュー 適用し たデータ型で書式設定されたフ ィ ール ド の内容を表示し ます。

表示のみ

2 つのビ ューで一緒に作業する方法

グ リ ッ ド データ ビ ューでセルを選択する と、 未加工データ ビ ューではそのセルのフ ィ ール ド に該当するバイ ト

部分が示されます。 同様に、 未加工データ ビ ューで任意のバイ ト 部分を選択する と、 グ リ ッ ド データ ビ ューで

はそれに該当する フ ィ ール ド行が選択されます。

21

Page 32: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の使用

図 9 テーブル定義エデ ィ ターでのバイ ト の選択

1 つのフ ィ ール ド の定義範囲を越えて次のフ ィ ール ド定義まで選択し よ う とする と、 エラー メ ッ セージが表示さ

れ、 グ リ ッ ド データ ビ ューではその両方の行が選択されます。 エ ラー メ ッ セージ と警告 メ ッ セージは共に未加

工データ ビ ューで表示されます。

図 10 テーブル定義エデ ィ ター エラー メ ッ セージ

図 11 テーブル定義エデ ィ ター の注意 / 警告メ ッ セージ

[イ ンデッ クス] ページ

[イ ンデッ ク ス] ページの内容は、 SQL イ ンデッ ク ス名を除き読み取 り 専用です。 こ のページで、 イ ンデッ ク ス

の構造を変更する こ と はで き ません。 イ ンデ ッ ク ス の追加や SQL テーブルへの変更は Pervasive PSQL Control Center で行 う 必要があ り ます。 『Pervasive PSQL User's Guide』 の 「Table Editor」 の章を参照し て く ださ い。

アクセス方法

[イ ンデッ ク ス] ページはテーブル定義エデ ィ ターの下部にあ る [イ ンデ ッ クス] タブを ク リ ッ ク し て開き ます。

図 12 テーブル定義エデ ィ ターの [イ ンデッ クス] ページ

22

Page 33: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

GUI のリ フ ァ レンス

機能

[テーブル] ページで、 イ ンデッ ク ス と し て指定されている フ ィ ール ド名を変更する と、 その変更はすぐに [イ ン

デッ ク ス] ページにも反映されます。

制限事項

[イ ンデッ ク ス] ページでは SQL イ ンデッ ク ス名のみが変更でき ます。

オルタネー ト コ レーテ ィ ング シーケン ス (ACS) フ ァ イルを使用する Btrieve フ ァ イルで作業する場合、その ACS フ ァ イルは作業対象の Btrieve フ ァ イル と 同じデ ィ レ ク ト リ にあ り 、 拡張子は .ALT (UPPER.ALT など) であ る

必要があ り ます。

[プレビ ュー] ページ

[プレ ビ ュー] ページは、 フ ァ イルのデータ を読みやすいレ イ ア ウ ト で表示し ます。

アクセス方法

[プレ ビ ュー] ページはテーブル定義エデ ィ ターの下部にあ る [プレビ ュー] タブを ク リ ッ ク し て開き ます。

図 13 テーブル定義エデ ィ ターの [プレビ ュー] ページ

機能

ページの下部中央にあ るボタ ンを使用する とデータ レ コード間を移動でき ます。 こ のボタ ンの右側にはフ ァ イル

の位置が表示されます。 フ ァ イル位置は、 総レ コード数の う ち表示されている レ コード範囲を示し ます。 た と え

ば、 "100-199/1314" と表示されている場合、 総レ コード数 1,314 件の う ち、 100 番目から 199 番目までのレ コード

が表示されている こ と を示し ます。

[テーブル] ページで列定義を変更する と、 その変更はすぐに [プレ ビ ュー] ページにも反映されます。

こ のページの情報は読み取 り 専用で、 変更でき ません。

[統計情報] ページ

[統計情報] ページには Btrieve フ ァ イルのフ ァ イル仕様と キーの仕様が表示されます。 こ の情報は読み取 り 専用

で、 こ のビ ュー内では変更でき ません。

23

Page 34: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の使用

アクセス方法

[統計情報] ページはテーブル定義エデ ィ ターの下部にあ る [統計情報] タブを ク リ ッ ク し て開き ます。

図 14 テーブル定義エデ ィ ターの [統計情報] ページ

機能

統計情報は、 Btrieve フ ァ イルの構造上の特性を見る ための便利な手段です。 これは、 フ ァ イルのスキーマをエク

スポー ト し よ う と考えているがフ ァ イルやキーの仕様がよ く わから ない と きには大いに役立ちます。

「Btrieve スキーマのエク スポー ト 」 も参照し て く ださい。

メ モ 統計情報は、 単に物理的な Btrieve フ ァ イルの情報を基にし ています。 メ タデータの情報を示すわけで

はあ り ません。

[SQL ビ ュー] ページ

[SQL ビ ュー] ページでは、 現在のテーブル定義を作成する ために必要な SQL (構造化問い合わせ言語) ステー

ト メ ン ト の内容を表示し ます。

アクセス方法

[SQL ビ ュー] ページはテーブル定義エデ ィ ターの下部にあ る [SQL ビ ュー] タブを ク リ ッ ク し て開き ます。

24

Page 35: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

GUI のリ フ ァ レンス

図 15 テーブル定義エデ ィ ターの [SQL ビ ュー] ページ

機能

DDF Builder で作成される SQL ステー ト メ ン ト に基づいて新しいスキーマを作成するために、 こ こ で作成されて

い る大部分の SQL ス テー ト メ ン ト を コ ピー し て Pervasive PSQL Control Center で再利用する こ と がで き ます。

Pervasive PSQL Control Center で使用する SQL ステー ト メ ン ト は将来使用するため保存し てお く こ と もでき ます。

制限事項

こ こ で作成される SQL ステー ト メ ン ト はコ ピーし て再利用する こ と ができ ますが、 保存はされません。 また、 現

在 DDF Builder で提供されている SQL ステー ト メ ン ト を自動的に保存する手段も あ り ません。SQL ステー ト メ ン

ト を保存するには、 このウ ィ ン ド ウから そのステー ト メ ン ト を コ ピーし てテキス ト エデ ィ ターに貼 り 付けて保存

する必要があ り ます。

注意 Pervasive 辞書システム オブジェ ク ト への参照が含まれる ステー ト メ ン ト は再利用し ないで く ださい。

これらのオブジェ ク ト は X$< テーブル名 > と い う 書式で簡単に特定され、所有者から再利用を禁止する コ メ

ン ト が記述されています。

データベースの追加

これはデータベース を新規作成し ます。 こ のダ イ ア ロ グは Pervasive PSQL Control Center (PCC) と共有になって

います。 『Pervasive PSQL User's Guide』 の 「データベース」 および 「データベースの新規作成 GUI リ フ ァ レン ス」

を参照し て く ださい。

テーブルの一貫性のチ ェ ッ ク

DDF Builder ではテーブルの一貫性をチェ ッ クする ア ク シ ョ ンを提供し ます。 一貫性のチェ ッ ク では一連の検証

ルールを使用し て、 物理データ フ ァ イル と その メ タデータ (テーブル とデータ辞書フ ァ イル) と を比較対照し ま

す。

一貫性のチェ ッ ク では以下のよ う な条件を検証し ます。

辞書フ ァ イルには、 互換性のあ るバージ ョ ンの情報があ る こ と。

テーブルに、 有効な名前、 ID および既存のア ク セス可能な物理フ ァ イルがあ る こ と。

列は、 有効な名前があ り 、 合計レ コード長が正し く 、 定義が重複し ていないこ と。

イ ンデッ ク スは、 名前、 数、 サイ ズ、 データ型、 オフセ ッ ト および属性において正しいこ と。

25

Page 36: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の使用

一貫性のチェ ッ クは、 一度にすべてのテーブルを対象に行った り 、 テーブルを個別に選択し て行 う こ と も でき ま

す。 こ のチェ ッ ク では、 オブジェ ク ト によ る検証 メ ッ セージ、 エラーおよび警告のカ ウ ン ト を報告し ます。 オブ

ジェ ク ト と はデータベース、 テーブルまたはデータ辞書フ ァ イル (DDF) です。

検証 メ ッ セージは " 正常終了 " と い う 見出しによ って分類されます。 これらは一貫性をパス し たチェ ッ ク につい

て リ ス ト ア ッ プされる ためです。 エラーは " エラー " と い う 見出しによ って分類され、 警告は " 警告 " と い う 見

出しによ って分類されます。

エラー メ ッ セージがあ る場合は必ず表示されます。 オブジェ ク ト にエラーと警告の両方があ る場合、 警告は " エ

ラー " グループにも リ ス ト されます。

検証 メ ッ セージや警告は、 任意で表示し た り 非表示にし た り する こ と ができ ます。

結果ビ ューのア イ コ ンによ って メ ッ セージのさ まざまな タ イプが識別されます。

エラーはテーブル定義における問題を示すもので、 多 く の場合、 データ フ ァ イルがア ク セス された と きにエラー

や不正なデータが返される原因にな り ます。た と えば、DDF に定義されている イ ンデッ ク スがデータ フ ァ イルに

はない と エラーにな り ます。 そのよ う な イ ンデッ ク スは実際にはデータ フ ァ イルにないため、 エンジンがその特

定のイ ンデッ ク スで 適化する よ う な SQL ク エ リ ではエラーが発生し ます。

警告は起こ り 得る問題を暗示する ものですが、 その問題がエラーを引き起こすと は限 り ません。 た と えば、 あ る

イ ンデッ ク スがデータ フ ァ イルに定義されているが、対応する DDF エン ト リ がない場合は警告にな り ます。SQL ア ク セスはイ ンデッ ク スについて知ら ないので、 それを使用し よ う と はし ません。 そのため時間のかかる ク エ リ

になるかも しれませんが、 こ のク エ リ は 終的には正しい結果を返し ます。

アクセス方法

データ ソース エ ク スプローラーで、 データベース名を右ク リ ッ ク し て [データ ベースの確認] を ク リ ッ クする

か、 [データ パス] または [SQL テーブル] ノード の下にあ る SQL テーブル名を右ク リ ッ ク し て [テーブルの確

認] を ク リ ッ ク し ます (Shift キーまたは Ctrl キーを押し たま ま対象のテーブル名を ク リ ッ クする と、 複数のテー

ブルを選択する こ と ができ ます)。

図 16 DBCheck (一貫性チ ェ ッ クの結果) ビ ュー

機能

DBCheck ペイ ンは移動可能で DDF Builder ウ ィ ン ド ウ内のど こ にでも移動でき ます。 こ のペイ ンは 小化および

大化する こ と ができ ます。

26

Page 37: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

GUI のリ フ ァ レンス

さ らに、 こ のペイ ンでは一貫性チェ ッ ク の結果をテキス ト フ ァ イルに保存し た り 、 検証チェ ッ ク の メ ッ セージや

警告をフ ィ ルター (非表示) でき る ア イ コ ンを提供し ます。

エラー メ ッ セージのヒ ン ト

エラー メ ッ セージ上でク リ ッ クする と ヒ ン ト が表示されます。 こ の ヒ ン ト では メ ッ セージに関する コ メ ン ト を提

供し、 場合によ っては修正ア ク シ ョ ンが提案される こ と も あ り ます。 DBCheck の結果をフ ァ イルに保存する場合

は、 こ の ヒ ン ト も そのフ ァ イルに書き込まれます。

SQL 定義のコ ピー

SQL 定義のコ ピー ウ ィ ザード では、既存のスキーマ、あ るいはソース、SQL テーブルに基づいて新たに SQL テー

ブルを作成し ます。 また、 こ のウ ィ ザード では新しい SQL テーブルが関連付け られる Btrieve フ ァ イルも作成さ

れます。

アクセス方法

データ ソース エ ク スプローラーで SQL フ ァ イル名を右ク リ ッ ク し、 [SQL 定義のコ ピー] を ク リ ッ ク し ます。

機能

ソース テーブルにデータが含まれていて も、 ウ ィ ザー ド は新たに作成される テーブルにそのデータ を含めませ

ん。 新たに作成されたテーブルにデータ を含めたい場合は、 ソース テーブルからデータ をエ ク スポー ト し、 その

新しいテーブルにイ ンポー ト する こ と ができ ます。『Pervasive PSQL User's Guide』 の 「データ イ ンポー ト ウ ィ ザー

ド を使ったデータのイ ンポー ト 」 および 「データ エ ク スポー ト ウ ィ ザード を使ったデータのエ ク スポー ト 」 を参

照し て く ださい。

こ のウ ィ ザード では以下の項目について指定が必要です。

データベース エンジンが起動し ているサーバー名

新規テーブルを作成するデータベース

新規テーブルの名前 (デフ ォル ト では、 関連付け られる Btrieve フ ァ イルの名前にな り ます)

Btrieve スキーマのエクスポー ト

Btrieve スキーマのエク スポー ト ウ ィ ザード では、ソース と なる Btrieve フ ァ イルのスキーマの仕様を定める XML フ ァ イルを作成し ます。 その XML フ ァ イルを使用する こ と によ って、 既存の Btrieve フ ァ イルの構造に基づいた

Btrieve フ ァ イルを新たに作成する こ と ができ ます。 「Btrieve スキーマのイ ンポー ト 」 を参照し て く ださい。

ソース フ ァ イルのデータはエク スポー ト されません。 データ をエク スポー ト する場合は、 『Pervasive PSQL User's Guide』 の 「データ エク スポー ト ウ ィ ザード を使ったデータのエ ク スポー ト 」 を参照し て く ださ い。

27

Page 38: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の使用

アクセス方法

データ ソ ース エ ク ス プ ロー ラ ーで、 [デー タ パス] ノ ー ド の下位にあ る Btrieve フ ァ イ ル名を右 ク リ ッ ク し、

[Btrieve スキーマのエクスポー ト ] を ク リ ッ ク し ます。

機能

デフ ォル ト で、 こ のウ ィ ザード ではエ ク スポー ト される XML フ ァ イル名にソース フ ァ イル名を使用し ます。 こ

の XML 出力フ ァ イルは xml と い う フ ァ イル拡張子が付け られ、 ソース フ ァ イル と同じデ ィ レ ク ト リ に置かれま

す。 XML 出力フ ァ イルの名前と保存場所は変更する こ と も でき ます。

また、 エ ク スポー ト する前に XML の内容をプレ ビ ューする こ と もでき ます。

Btrieve スキーマのイ ンポー ト

Btrieve スキーマのイ ンポー ト ウ ィ ザード では、別の Btrieve フ ァ イルの構造を基にし て Btrieve フ ァ イルを作成し

ます。 こ の構造は XML フ ォーマ ッ ト によ る ソース フ ァ イルのスキーマであ る必要があ り ます。

ソース フ ァ イルのデータはイ ンポー ト されません。データ を イ ンポー ト する場合は、『Pervasive PSQL User's Guide』

の 「データ イ ンポー ト ウ ィ ザード を使ったデータのイ ンポー ト 」 を参照し て く ださい。

アクセス方法

データ ソース エ ク スプローラーで、[データ パス] ノード の直下にあ る作業対象のデータ パス ノード を右ク リ ッ

ク し、 [Btrieve スキーマのイ ンポー ト ] を ク リ ッ ク し ます。

Btrieve フ ァ イルは物理ス ト レージに置 く 必要があ り ます。これはこのウ ィ ザード がデータ パスから起動されるか

らです。

機能

こ のウ ィ ザード は、既知のデータ パスのコ ンテキス ト から起動するため、 ターゲ ッ ト フ ァ イルのパス を指定する

必要はあ り ません。 フ ァ イル名を指定するだけです。 フ ァ イル名の長さは 255 文字以下で指定し て く ださい。 [ス

ペース を含むフ ァ イル / デ ィ レ ク ト リ 名] ク ラ イ アン ト 設定オプシ ョ ンが有効になっていない場合、 フ ァ イル名

に ス ペー ス を 含め る こ と はで き ま せん。 デ フ ォ ル ト で こ のオプ シ ョ ン は有効に な っ て い ま す。 『AdvancedOperations Guide』 の 「設定 リ フ ァ レ ン ス」 の章で 「埋め込みスペース を含むフ ァ イル名」 セ ク シ ョ ンを参照し て

く ださい。

データ パスの追加

データ パスは、 データ ソース エク スプローラーで [データ パスの追加] コマン ド を使用し て追加し ます。 デー

タ パス と は、 Btrieve フ ァ イルが存在する物理ス ト レージ上の場所を指し ます。 各 Pervasive PSQL データベース

には識別されるデータ パスが 低 1 つあ り ます。

Btrieve フ ァ イル用に作成される DDF は、 そのデータベース用の元のデータ パスに置かれます。 これはそのデー

タベース全体の SQL テーブルがすべて同じ DDF のセ ッ ト に定義されるためです。

アクセス方法

データ ソース エ ク スプローラーで、 [データ パス] ノード を右ク リ ッ ク し、 [データ パスの追加] を ク リ ッ ク し

ます。

機能

既存のデ ィ レ ク ト リ は、 空の場合と既にフ ァ イルが含まれている場合があ り ます。

[削除] コ マン ド を使用する と、 データ ソース エ ク スプローラーか らデータ パスが削除されます (削除対象の

データ パスまたはデータベース名を右ク リ ッ ク し、 [削除] を ク リ ッ ク し ます)。 デ ィ レ ク ト リ は物理ス ト レージ

から削除されません。

28

Page 39: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

GUI のリ フ ァ レンス

関連するデータ フ ァ イルの変更

DDF Builder では、 選択し たテーブル定義 (SQL テーブル) に関連付け られるデータ フ ァ イルを変更する こ と が

でき ます。

アクセス方法

データ ソース エ ク スプローラーで、 関連付け されているデータ フ ァ イルを変更する SQL テーブルを右ク リ ッ ク

し、 [関連するデータ フ ァ イルの変更] を ク リ ッ ク し ます。 関連付け るデータ フ ァ イルの完全なパス名を入力す

るか、 参照し て選択し ます。

機能

特定の SQL テーブルに関連付け られているデータ フ ァ イルを変更する場合、 フ ァ イル名を入力するか、 [参照]

ボタ ンを使用し てフ ァ イルの場所を参照し選択し ます。

Btrieve 型DDF Builder では、 Btrieve デー タ 型 と サ イ ズ、 お よ びそれに対応す る SQL デー タ 型を表示す る単独のビ ュ ー

(Btrieve ビ ュー) を提供し ています。

こ の Btrieve 型ビ ューはデータの分析に使用する こ と ができ ます。 未加工データ ビ ューで任意のバイ ト を選択す

る と、 Btrieve 型ビ ューではそのサイ ズに対応可能なデータ型でデータがどのよ う に見え るかを表示し ます。 テー

ブル定義エデ ィ ターで特定の列を選択し た場合にも、 Btrieve 型ビ ューでは書式設定されたデータのプレ ビ ューを

表示し ます。

アクセス方法

[Btrieve 型] タブは DDF Builder ウ ィ ン ド ウの左側のペイ ンのデータ ソース エ ク スプローラーで [データ ソース]

タブの隣にあ り ます。 [Btrieve 型] タブを ク リ ッ クする と、 Btrieve 型ビ ューが表示されます。

図 17 Btrieve 型ビ ュー

29

Page 40: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の使用

機能

Btrieve 型ビ ューのペイ ンは移動可能で DDF Builder ウ ィ ン ド ウ内のど こ にでも移動でき ます。 Btrieve 型ビ ューの

ペイ ンを移動し てデータ型と サイ ズの不一致が見やすいよ う 適当な位置に置 く こ と ができ ます。

[プレ ビ ュー] 列も提供され、 選択し たデータがその特定のデータ型に対し てどのよ う に表示されるかを示し ま

す。 ま た、 こ の列ご と のプレ ビ ューはデータ型のサ イ ズを決定する場合に も利用で き ます。 Btrieve 型ビ ューで

データ を比較し た り プレ ビ ューする こ と は、 不正なデータ型やサイ ズの問題を解決し よ う とする際に大いに役立

ちます。

定義エラー

DDF Builder では、 既存のテーブル定義で問題を検出し て変更する と きは自動的に定義エラー ビ ューが表示され

ます。 この定義エラー ビ ューは閉じ る こ と ができ ます。 また、 後でエラーを再調査するために再びこのビ ューを

開 く こ と もでき ます。

アクセス方法

DDF Builder の メ ニュー バーで [ウ ィ ン ド ウ|定義エラーの表示] を ク リ ッ ク し ます。

図 18 テーブル定義エデ ィ ターの定義エラー

機能

定義エラー ビ ューに挙げられているエラーには DDF Builder で解決される問題に関する具体的な情報が含まれて

います。 元のテーブル定義も読み取 り 専用モード で元の定義ビ ューに提供されます。 こ のビ ューは、 更新された

テーブル定義と比較しやすいよ う 移動する こ と ができ ます。

定義エラー リ ス ト

次の表では、DDF Builder が既存の定義で検出する可能性のあ る テーブル定義エラーを示し ます。発生し たエラー

の一般的な説明と、 それを受けて DDF Builder がどのよ う にテーブル定義を修正するかについて も示し ます。

表 7 テーブル定義エラー

表示される メ ッ セージ 意味

DDFBLDR-1 : こ の SQL イ ンデッ ク スに対応する Btrieve キーがあ り ません。 イ ンデッ ク ス を無視し ま し た。

既存のテーブル定義の SQL イ ンデ ッ ク ス に対応す る キーが

Btrieve フ ァ イルにあ り ません。

SQL テーブルのイ ンデッ ク スは無視されます。

DDFBLDR-2 : こ の Btrieve キーに対応する SQL イ ンデッ

ク スが見つか り ません。 イ ンデッ ク ス を追加し ま し た。

既存のテーブル定義の SQL イ ンデッ ク ス と し て定義されてい

ないキーが Btrieve フ ァ イルにあ り ます。

Btrieve フ ァ イルにあ る キーに対応する イ ンデ ッ ク ス をテーブ

ル定義に追加し ます。

30

Page 41: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

GUI のリ フ ァ レンス

DDFBLDR-3 : SQL セグ メ ン ト のヌル フ ラ グが、対応する

Btrieve セグ メ ン ト のヌル フ ラ グ と一致し ていません。

SQL フ ァ イル セグ メ ン ト にないヌル フ ラ グを持つセグ メ ン ト

が Btrieve フ ァ イルに含まれています。

または

Btrieve フ ァ イ ルにない ヌ ル フ ラ グ を持つセグ メ ン ト が SQL フ ァ イルに含まれています。

DDFBLDR-4 : SQL 列がほかの列にオーバーラ ッ プし てい

ます。 列のサイ ズを切 り 詰めま し た。

テーブル内のほかの列 と 重複し ている SQL 列が既存のテーブ

ル定義にあ り ます。

DDFBLDR-5 : Btrieve セグ メ ン ト に対応する SQL 列が見

つか り ません。 新しい列を追加し ま し た。

既存の テーブル定義の SQL 列に対応 し な い セ グ メ ン ト が

Btrieve フ ァ イルにあ り ます。

DDFBLDR-6 : テーブル定義内に未定義のバイ ト があ り ま

す。 不明な列を追加し ま し た。

Btrieve フ ァ イルで見つかったバイ ト 数 と 同じバイ ト 数が既存

のテーブル定義で割 り 当て られていません。 こ のテーブル定義

には定義されていないバイ ト があ り ます。

不明な列が新たにテーブル定義へ追加され、それが未定義のバ

イ ト 部分に割 り 当て られます。

DDFBLDR-7 : SQL 列の型が Btrieve セグ メ ン ト の型 と 一

致し ていません。 列の型を変更し ま し た。

Btrieve フ ァ イル セグ メ ン ト が SQL テーブルの列で検出された

データ型と は異なるデータ型を使用し ています。

SQL テーブルの列のデータ型は Btrieve フ ァ イルのセグ メ ン ト

と 同じデータ型に変更されます。

DDFBLDR-8 : SQL 列のヌル フ ラ グが Btrieve セグ メ ン ト

のヌル フ ラ グ と一致し ていません。 列のヌル フ ラ グを変

更し ま し た。

DDF Builder が Btrieve セグ メ ン ト で検出し た も の と は異な る ヌ

ル フ ラ グ設定を持つ SQL 列が既存のテーブル定義にあ り ま

す。

DDFBLDR-9 : SQL 列の大小文字無視フ ラ グが Btrieve セ

グ メ ン ト の大小文字無視フ ラ グ と 一致し ていません。列の

大小文字無視フ ラ グを変更し ま し た。

DDF Builder が Btrieve セグ メ ン ト で検出し た も の と は異な る大

小文字無視フ ラ グ設定を持つ SQL 列が既存のテーブル定義に

あ り ます。

DDFBLDR-10 : SQL 列が Btrieve セグ メ ン ト の境界を越え

て定義されています。 列を無視し ま し た。

Btrieve フ ァ イルのセグ メ ン ト の位置およびサ イ ズ と 合致し な

い SQL 列が既存のテーブル定義にあ り ます。

セグ メ ン ト の位置およびサイ ズ と 合致し ない SQL 列は既存の

テーブル定義で無視されます。

DDFBLDR-11 : SQL 列の型が列サ イ ズに適合し ていませ

ん。 列の型を "Unknown" に変更し ま し た。

既存のテーブル定義に、 列のサ イ ズ と 適合し ないデータ型の

SQL 列が含まれています。

SQL 列のデータ型は不明に変更されます。サイ ズは変わ り ませ

ん。

DDFBLDR-12:可変長列にでき るのはテーブル内の 後の

列だけです。 列の型を "Unknown" に変更し ま し た。

既存のテーブル定義では、テーブルの 後ではない列に可変長

部分を定義し ています。

SQL 列のデータ型は不明に変更されます。

DDFBLDR-13:不正なビ ッ ト マス クが検出されま し た。適

切なビ ッ ト マス ク に変更し ま し た。

バ イ ト を割 り 当て る ために必要なサ イ ズ と 異な る不正なビ ッ

ト マス ク がテーブル定義に含まれています。 ビ ッ ト マス ク は

テーブル定義で変更されるので、そのサイ ズは修正されバイ ト

を足し合わせます。

DDFBLDR-14 : Btrieve WSTRING および WZSTRING と互

換性のあ る SQL 型はあ り ません。列の型を SQL CHAR に

セ ッ ト し ま し た。 列は使用でき ません。

WSTRING 型 ま た は WZSTRING 型で定義 さ れ て い る 列が

Btrieve フ ァ イルに含まれています。 これら のデータ型は SQL データ型に割 り 当て られません。 これらのデータ型の列は使用

でき ないため CHAR 型に変更されます。

表 7 テーブル定義エラー

表示される メ ッ セージ 意味

31

Page 42: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の使用

元の定義

DDF Builder が問題を検出し て既存のテーブル定義を変更する場合、その変更を保存する までは元のテーブル定義

が保持されます。 ユーザーが既存のテーブルに変更を加える場合も、 その変更を保存する までは元の定義が保持

されます。 変更が保存される までは、 元の定義ビ ューで元のテーブル定義をいつでも見る こ と ができ ます。

アクセス方法

DDF Builder の メ ニュー バーで [ウ ィ ン ド ウ|元の定義の表示] を ク リ ッ ク し ます。

図 19 テーブル定義エデ ィ ターの元の定義

機能

元のテーブル定義は読み取 り 専用モード でこ のビ ューに提供されます。 こ のビ ューは、 更新されたテーブル定義

と比較しやすいよ う 移動する こ と ができ ます。

変更し た定義または元の定義のどち らかを別名で保存すれば、 元のテーブル定義をずっ と保持する こ と ができ ま

す。 これを行 う には、 [フ ァ イル|別名保管] を ク リ ッ ク し て別の名前を入力し ます。

32

Page 43: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の各種作業

DDF Builder の各種作業

こ のセ ク シ ョ ンでは、DDF Builder で実行する作業について説明し ます。作業は以下のカテゴ リ に分かれています。

カテゴ リ 説明

「一般的な作業」 DDF Builder の使用法全般の説明です。

「データ ソース エ ク スプローラーから開始する作業」 エデ ィ ター、 ビ ューおよびウ ィ ザード にア ク セスでき ます。

一般的な作業

一般的な作業は、 こ のツールの全体的な使用に適用されます。

DDF Builder を起動するには

「DDF Builder の起動」 を参照

ユーザー マニュアルへのアクセス

DDF Builder のオン ラ イ ン マニュアルにアクセスするには

1 DDF Builder を起動し、 F1 キーを押すか、 [ヘルプ | PSQL ド キュ メ ン ト ラ イブラ リ] を ク リ ッ ク し ます

(「 メ モ」 を参照)。

2 『DDF Builder User's Guide』 で参照する章を ク リ ッ ク し ます。

メ モ DDF Builder と Pervasive PSQL Control Center (PCC) ユーテ ィ リ テ ィ では同じ コ ンポーネン ト (SQL Editor など) を共有し ています。 このため、 DDF Builder 内の特定の領域から起動されたヘルプは、 『Pervasive PSQL User's Guide』 などの Pervasive PSQL マニュ アルの情報にア ク セス し ます。

DDF Builder ログ フ ァ イル

DDF Builder ログ フ ァ イルにアクセスするには

1 DDF Builder を起動し、 [ヘルプ| DDF Builder のログを表示] を ク リ ッ ク し ます。

こ のロ グ フ ァ イルは、 ご使用のシステムのテキス ト エデ ィ ターで表示されます。

DDF Builder ログ フ ァ イルを ク リ アするには

1 DDF Builder を起動し、 [ヘルプ| DDF Builder のログを消去] を ク リ ッ ク し ます。

こ の操作を確認する ダ イ ア ロ グ ボ ッ ク スが表示されます。

2 削除の確認で [OK] を ク リ ッ クする と ロ グ フ ァ イルが削除されます。

次回 DDF Builder を起動し た と きには、 新しいロ グ フ ァ イルが自動的に作成されます。

データ ソース エクスプローラーで ノ ー ドが追加または削除されたこ と を確認するには

1 追加または削除を確認する ノ ード を右ク リ ッ ク し ます。

2 [更新] を ク リ ッ ク し ます。

[更新] コマン ド のコ ンテキス ト は、 こ のコマン ド を呼び出し た ノード に適用されます。 データ ソース エク

スプローラー 内にあ るすべての ノ ー ド を更新する場合は、 [エンジン] ノ ード (ツ リ ーの 上位) から こ の

コマン ド を実行し ます。

33

Page 44: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の使用

データ ソース エクスプローラーから開始する作業

DDF Builder における作業の多 く は、 データ ソース エ ク スプローラー内にあ る ノード に関連付け られている コマ

ン ド を選択する こ と によ って実行し ます。 コマン ド によ ってエデ ィ ター、 ビ ューまたはウ ィ ザード が起動し ます。

次に示す表では、 希望する ア ク シ ョ ンを実行する ための手順を説明し ます。 こ の表は、 関連する分野ご と にま と

められています。

「Btrieve フ ァ イル」

「データ」

「データベース」

「データ ソース エ ク スプローラー」

「オン ラ イ ン ヘルプ」

「SQL ク エ リ 」

「SQL テーブル」

メ モ DDF Builder でセキ ュ リ テ ィ が有効なデーターベース を扱 う 場合は、 DDF Builder でそのフ ァ イル作業

を行 う 前に必ずデータベース をオフ ラ イ ンにし、 すべてのセキ ュ リ テ ィ を無効にし ておき ます。

Btrieve フ ァ イル

実行し たいア クシ ョ ン 必要な作業 注記

エデ ィ タ ーで Btrieve フ ァ イ ル

を作成する [データ パス] ノ ード の下にあ るデー

タ パス名を右ク リ ッ ク し ます。

[Btrieve フ ァ イ ルの作成] を ク

リ ッ ク し ます。

DDF Builder は、 新規作成し た Btrieve フ ァ イル

の DDF を自動的に作成し ません。

「Btrieve フ ァ イル エデ ィ ター」 を参照し て く だ

さい。

Btrieve フ ァ イ ルの構造を XML フ ァ イルへエ ク スポー ト する

デー タ パ ス 名の下に あ る Btrieve フ ァ イル名を右ク リ ッ ク し ます。

[Btrieve ス キ ーマ の エ ク ス ポー ト ]

を ク リ ッ ク し ます。

Btrieve フ ァ イ ルのデータ 自体はエ ク ス ポー ト

されません。

「Btrieve ス キーマのエ ク スポー ト 」 を参照し て

く だ さい。

別の Btrieve フ ァ イルの XML で

指定されている構造を基に し て

新しいフ ァ イルを作成する

[データ パス] ノ ード の下にあ るデー

タ パス名を右ク リ ッ ク し ます。

[Btrieve ス キーマの イ ンポー ト ] を ク リ ッ ク し ます。

Btrieve フ ァ イ ルのデータ 自体は イ ンポー ト さ

れません。

「Btrieve ス キーマの イ ンポー ト 」 を参照し て く

ださい。

Btrieve フ ァ イルを置 く デ ィ レ ク

ト リ を指定する

[データ パス] フ ォルダー を右ク

リ ッ ク し ます。

[データ パスの追加] を ク リ ッ ク

し ます。

Btrieve フ ァ イル用に作成される DDF は、 その

データベースの元のデータ パスに置かれます。

こ れはすべての SQL テーブルが同 じ DDF の

セ ッ ト に定義される ためです。

「データ パスの追加」 を参照し て く ださ い。

デー タ ソ ー ス エ ク ス プ ロ ー

ラ ーか ら デー タ パス デ ィ レ ク

ト リ を削除する

[データ パス] ノ ード の下にあ るデー

タ パス名を右ク リ ッ ク し ます。

[削除] を ク リ ッ ク し ます。

データ パス にあ るデ ィ レ ク ト リ やフ ァ イ ルは

物理ス ト レージから削除されません。

34

Page 45: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の各種作業

データ

実行し たいア クシ ョ ン 必要な作業 注記

すべてのテーブルの一貫性を一

度にチェ ッ クする

データベース ノ ー ド を右ク リ ッ

ク し ます。

[データベースの確認] を ク リ ッ ク し

ます。

「テーブルの一貫性のチェ ッ ク」を参照し て く だ

さい。

1 つま たは複数のテーブルの一

貫性を個別にチェ ッ クする

Btrieve フ ァ イル名の下、または [SQL テーブル] ノ ー ド の下に あ る SQL テーブル名を右ク リ ッ ク し ます。

[テーブルの確認]を ク リ ッ ク し ます。

テーブル名は、[SQL テーブル] ノード の下、 ま

た は Btrieve フ ァ イ ルに DDF が あ る 場合は

Btrieve フ ァ イ ル名の ノ ー ド の下に表示 さ れま

す。

(Shift キーまたは Ctrl キーを押し たま ま対象の

テーブル名を ク リ ッ クする と、 複数のテーブル

を選択する こ と ができ ます)。

「テーブルの一貫性のチェ ッ ク」を参照し て く だ

さい。

データ フ ァ イルを置 く デ ィ レ ク

ト リ 、 またはデータ フ ァ イルが

既に存在す る デ ィ レ ク ト リ を

デー タ ソ ー ス エ ク ス プ ロ ー

ラーで指定する

[データ パス] フ ォルダー を右ク

リ ッ ク し ます。

[データ パスの追加] を ク リ ッ ク

し ます。

「データ パスの追加」 を参照し て く ださ い。

デー タ ソ ー ス エ ク ス プ ロ ー

ラーからデータ フ ァ イルが存在

するデ ィ レ ク ト リ を削除する

[データ パス] ノ ード の下にあ るデー

タ パス名を右ク リ ッ ク し ます。

[削除] を ク リ ッ ク し ます。

データ パス にあ るデ ィ レ ク ト リ やフ ァ イ ルは

物理ス ト レージから削除されません。

SQL テーブルが関連付け られて

い る Btrieve フ ァ イ ルの統計情

報を表示する

Btrieve フ ァ イル名の下、または [SQL テーブル] ノ ー ド の下に あ る SQL テーブル名を右ク リ ッ ク し ます。

[テーブル定義の編集] を ク リ ッ

ク し ます。

[統計情報] タブを ク リ ッ ク し ます。

テーブル名は、 [データ パス] ノ ー ド の下、 ま

たは [SQL テーブル] ノード の下に表示されま

す。

「[統計情報] ページ」 を参照し て く ださい。

選択 し た SQL テーブルに関連

付け られている Btrieve(データ)

フ ァ イルを変更する

Btrieve フ ァ イル名の下、または [SQL テーブル] ノ ー ド の下に あ る SQL テーブル名を右ク リ ッ ク し ます。

[関連す る デー タ フ ァ イ ルの変更]

を ク リ ッ ク し ます。

特定のテーブルに関連付け ら れるデータ フ ァ

イルは 1 つだけです。

実行し たいア クシ ョ ン 必要な作業 注記

35

Page 46: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の使用

データベース

実行し たいア クシ ョ ン 必要な作業 注記

データベースの新規作成 データベース ノ ー ド を右ク リ ッ

ク し ます。

[データベースの追加] を ク リ ッ ク し

ます。

「データベースの追加」 を参照し て く だ さい。

データ ソース エクスプローラーか

らデータベース を削除する

データベース ノ ー ド を右ク リ ッ

ク し ます。

[削除] を ク リ ッ ク し ます。

データベースは物理ス ト レージからは削除され

ません。

データ ソース エ ク スプローラー

実行し たいア クシ ョ ン 必要な作業 注記

ツ リ ーを更新し て ノ ー ド への追

加、 ま たは ノ ー ド か ら の削除を

確認する

SQL テーブル名を除 く 任意の ノ ー ド

を右ク リ ッ ク し ます。

[更新] を ク リ ッ ク す る か、 F5 キーを押し ます。

[更新] コマン ド のコ ンテキス ト は、 こ のコマン

ド を呼び出し た ノード に適用されます。 データ

ソ ース エ ク ス プ ローラ ーにあ る すべての ノ ー

ド を更新する場合は、ツ リ ーの 上位にあ る[エ

ンジン]ノ ード から こ のコマン ド を実行し ます。

オン ラ イ ン ヘルプ

実行し たいア クシ ョ ン 必要な作業 注記

ユーザー向け ド キ ュ メ ン ト への

ア ク セス

エデ ィ ター、ビ ューまたはウ ィ ザード

内で F1 キー (Linux の場合は Shift + F1 キー) を押すか、 [ヘルプ| PSQL ド キュ メ ン ト ラ イ ブ ラ リ] を ク リ ッ

ク し ます。

「ユーザー マニ ュ アルへのア ク セス」 を参照し

て く ださい。

SQL ク エ リ

実行し たいア クシ ョ ン 必要な作業 注記

SQL テーブルのすべてのレ コー

ド に対し て SELECT ステー ト メ

ン ト (SELECT * FROM) を実行

する

または

SQL テーブルに対し て実行する

SQL ステー ト メ ン ト を入力でき

るエデ ィ ターにア ク セスする

Btrieve フ ァ イル名の下、または [SQL テーブル] ノ ー ド の下に あ る SQL テーブル名を右ク リ ッ ク し ます。

[SQL Editor] を ク リ ッ ク し ます。

デ フ ォ ル ト で、 SQL Editor は開い た と き に

SELECT * FROM ス テー ト メ ン ト を 実行 し ま

す。

SQL テーブル名は [SQL テーブル] ノ ード、 ま

た は Btrieve フ ァ イ ル名 (Btrieve フ ァ イ ルに

DDF があ る場合) の ノ ー ド の下に表示 さ れま

す。

「データベースの追加」 を参照し て く だ さい。

SQL Editor ま たはア ウ ト ラ イ ン

ビ ュ ーで SQL ス テー ト メ ン ト

を実行する

『Pervasive PSQL User's Guide』 で 「実

行のタ ス ク」セ ク シ ョ ンを参照し て く

ださい。

SQL Editor では多数の タ ス ク を実行で き ます。

詳しい説明については、 『Pervasive PSQL User's Guide』 の 「SQL Editor の各種作業」 セ ク シ ョ ン

を参照し て く ださ い。

36

Page 47: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の各種作業

SQL テーブル

実行し たいア クシ ョ ン 必要な作業 注記

エデ ィ ターでテーブルを新規作

成する

デー タ パ ス 名の下に あ る Btrieve フ ァ イル名を右ク リ ッ ク し ます。

[テーブル定義の作成] を ク リ ッ

ク し ます。

Btrieve フ ァ イ ル用に 1 つ ま た は複数の SQL テーブルを作成で き ます。 各 SQL テーブルは

Btrieve フ ァ イ ル名の ノ ー ド の下に表示 さ れま

す。

「テーブル定義エデ ィ ター」 を参照し て く だ さ

い。

別の SQL テーブルの ス キーマ

を基に し てテーブルを新規作成

する

Btrieve フ ァ イル名の下、または [SQL テ ー ブ ル] ノ ー ド の下に あ る SQL テーブル名を右ク リ ッ ク し ます。

[SQL 定義のコ ピー] を ク リ ッ ク

し ます。

テーブル名は、[SQL テーブル] ノード の下、 ま

た は Btrieve フ ァ イ ルに DDF が あ る 場合は

Btrieve フ ァ イ ル名の ノ ー ド の下に表示 さ れま

す。

「SQL 定義のコ ピー」 を参照し て く だ さい。

テーブル定義を変更する Btrieve フ ァ イル名の下、または [SQL テーブル] ノ ー ド の下に あ る SQL テーブル名を右ク リ ッ ク し ます。

[テーブル定義の編集] を ク リ ッ

ク し ます。

テーブル名は、[SQL テーブル] ノード の下、 ま

た は Btrieve フ ァ イ ルに DDF が あ る 場合は

Btrieve フ ァ イ ル名の ノ ー ド の下に表示 さ れま

す。

「テーブル定義エデ ィ ター」 を参照し て く だ さ

い。

デー タ ソ ー ス エ ク ス プ ロ ー

ラーから テーブルを削除する

Btrieve フ ァ イル名の下、または [SQL テーブル] ノ ー ド の下に あ る SQL テーブル名を右ク リ ッ ク し ます。

[削除] を ク リ ッ ク し ます。

テーブルは物理ス ト レージか らは削除されませ

ん。

テーブル名は、[SQL テーブル] ノード の下、 ま

た は Btrieve フ ァ イ ルに DDF が あ る 場合は

Btrieve フ ァ イ ル名の ノ ー ド の下に表示 さ れま

す。

SQL テーブルに関連付け られて

いる Btrieve (データ) フ ァ イル

を作成する

Btrieve フ ァ イル名の下、または [SQL テーブル] ノ ー ド の下に あ る SQL テーブル名を右ク リ ッ ク し ます。

特定のテーブルに関連付け ら れるデータ フ ァ

イルは 1 つだけです。

SQL テーブルが関連付け られて

い る Btrieve フ ァ イ ルの統計情

報を表示する

Btrieve フ ァ イル名の下、または [SQL テーブル] ノ ー ド の下に あ る SQL テーブル名を右ク リ ッ ク し ます。

[テーブル定義の編集] を ク リ ッ

ク し ます。

[統計情報] タブを ク リ ッ ク し ます。

テーブル名は、 [データ パス] ノ ー ド の下、 ま

たは [SQL テーブル] ノード の下に表示されま

す。

「[統計情報] ページ」 を参照し て く ださい。

[関連す る デー タ フ ァ イ ルの変更]

を ク リ ッ ク し ます。

37

Page 48: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder の使用

38

Page 49: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

3

DDF Builder チュー ト リ アル

DDF Builder を使用する ためのサンプル ガ イ ド

この章では、 以下の項目について説明し ます。

「DDF Builder チュー ト リ アルの使用」

「チュー ト リ アル 1 - DDF Builder でテーブル定義を作成する」

「チュー ト リ アル 2 - DDF Builder でテーブル定義を変更する」

「レ ッ ス ン 1 - v3.00 の DDF を使った作業」

「レ ッ ス ン 2 - v6.x よ り 前のフ ァ イル形式での作業」

「レ ッ ス ン 3 - 不正なデータ型と サイ ズ」

「レ ッ ス ン 4 - 列の定義の重複」

「レ ッ ス ン 5 - フ ァ イル / フ ィ ール ド フ ラ グの不一致」

「レ ッ ス ン 6 - イ ンデッ ク スの不一致」

「レ ッ ス ン 7 - 可変長レ コード の不一致」

「レ ッ ス ン 8 - レ コード長の不一致」

39

Page 50: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

DDF Builder チュー ト リ アルの使用

こ の章では、 DDF Builder を使用し た 2 つのチュー ト リ アルを提供し ます。 各チュー ト リ アルでは、 データの構造

に関する基本的な情報、 フ ァ イルを使用し たサンプル シナ リ オ、 チュー ト リ アルの目的、 および各演習の目的を

達成する ために必要と なる一般的な手順を提供し ます。

メ モ DDF Builder でテーブル定義を作成または変更するには、 データの構造についてあ る程度の知識が必要

です。 Btrieve フ ァ イルの列の定義、またフ ィ ール ド のオフセ ッ ト やサイ ズを知っている と役に立ちます。 DDF Builder では列定義の構造を導こ う と試みますが、 どの程度それを提供でき るかについては限 り があ り ます。

チュー ト リ アル 1 の概要

初のチュー ト リ アルでは、Btrieve フ ァ イルはあ るが、 リ レーシ ョ ナル ア ク セス を可能にするために必要なテー

ブル定義がない と い う 状況を解決し ます。 Btrieve フ ァ イル用の DDF がないため、 まずは DDF を作成し なければ

いけません。 こ のチュー ト リ アルでは、 空の DDF を使用し てデータベース を新規作成し、 Btrieve フ ァ イル用の

テーブル定義をその DDF に追加する手順を示し ます。

また、 こ のチュー ト リ アルの実行を通し て、DDF Builder イ ン ターフ ェ イ スで作業するための基本的な知識も提供

し ます。 こ のチュー ト リ アルで初めて DDF Builder を使用する場合は、 第 2 章の 「DDF Builder の使用」 を も う 一

度読んで、 イ ン ターフ ェ イ スやコ ンポーネン ト が置かれている場所について よ く 理解し てお く と よいでし ょ う 。

チュー ト リ アル 2 の概要

2 番目のチュー ト リ アルでは、 既存のテーブル定義に古い定義あ るいは不正な定義情報が含まれている ため、 そ

のテーブル定義を修正する と い う 少し複雑な状況を解決し ます。 こ のチュー ト リ アルでは、 既存のテーブル定義

を見直し て Btrieve フ ァ イルのセ ッ ト に関連付け られている DDF に対し て必要な変更を行 う 手順を示し ます。

こ の 2 番目のチュー ト リ アルはさ まざまなレ ッ ス ンで構成されています。 各レ ッ ス ンでは DDF Builder を使用し

て DDF を変更し よ う とする場合に発生する可能性があ る問題に焦点を当てています。 DDF Builder で自動的に解

決される問題も あ り ますが、 手動で変更を行 う 必要があ る問題も あ り ます。

事前の確認

チュー ト リ アルを開始する前に行 う こ と がい く つかあ り ます。 こ のセ ク シ ョ ンでは、 本章のチュー ト リ アルを開

始する前に行ってお く 必要があ る事項を確認し ます。

フ ァ イルのバッ クア ッ プ

DDF Builder でテーブル定義を作成し た り 変更する こ と によ って、データベースの構造が変更されます。用心のた

めに、 作業対象のフ ァ イルを必ずバッ ク ア ッ プし ておいて く ださい。 この作業対象フ ァ イルにはデータ フ ァ イル

と既存の辞書フ ァ イルの両方が含まれます。

DDF Builder では Btrieve フ ァ イルを開き ますが、 DDF への変更を行 う だけで既存の Btrieve フ ァ イルへの変更は

行いません。 しかし、 すべてのフ ァ イルをバッ ク ア ッ プし てお く こ とや、 コ ピーし たフ ァ イルで作業する こ と を

お勧めし ます。 DDF の部分的な変更によ って既存のテーブル定義が破損し て し まい、 作業中の定義が壊れて使用

でき な く なる こ と も あ り ます。

40

Page 51: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アルの使用

メ モ リ レーシ ョ ナル ア ク セス を提供する既存の Btrieve フ ァ イルおよび DDF を変更するつも り であれば、

DDF Builder を使用する必要はあ り ません。 Pervasive PSQL Control Center を使用すれば、 DDF や Btrieve フ ァ

イルを変更する こ と ができ ます。

DDF Builder では IN DICTIONARY 呼び出し を使用し てテーブル定義を DDF へ書き込みます。DDF Builder を

使用し た場合は、 Btrieve フ ァ イルに書き込みが行われる こ と はあ り ません。

データ フ ァ イルをバッ ク ア ッ プするか、 作業対象フ ァ イルのコ ピーを作成し た ら、 チュー ト リ アルで使用される

フ ァ イルの所在を確認する準備が整います。

チュー ト リ アル フ ァ イルの所在確認

DDF Builder のイ ン ス ト ール時には、こ の章に含まれているチュー ト リ アルを使用するためのフ ォルダーやフ ァ イ

ルがシステム上に作成されます。 こ のチュー ト リ アル フ ァ イルはデフ ォル ト の Application Data デ ィ レ ク ト リ で

以下の場所にイ ン ス ト ールされます。

<Application Data>\DDFBUILDER DDF Builder アプ リ ケーシ ョ ン フ ァ イル

<Application Data>\DDFBUILDER\TUTORIALS\TUTORIAL1 チュー ト リ アル 1 のフ ァ イル

チュー ト リ アル 2 のフ ァ イル (レッスン 1 とレッスン 2)

<Application Data>\DDFBUILDER\TUTORIALS\TUTORIAL2 チュー ト リ アル 2 のフ ァ イル (レ ッ ス ン 3 か ら 8)

メ モ Pervasive PSQL v11 SP3 のデフ ォル ト のイ ン ス ト ール デ ィ レ ク ト リ の詳細については、 『Getting Started with Pervasive PSQL』の 「Pervasive PSQL フ ァ イルはど こにイ ン ス ト ールされますか?」 を参照し て く ださい。

データ ソース名 (DSN) の作成

DDF Builder 内でチュー ト リ アルのデータベースにア ク セスするには、 各データベースに対し て関連付け られた

データ ソース名 (DSN) が作成されている こ と確かめてお く 必要があ り ます。

チュー ト リ アル 1 では、 データベース を作成する時点で DSN を作成し ます。 チュー ト リ アル 1 は Btrieve フ ァ イ

ルしかない状態から始める ため、 データベース も、 DDF、 DSN もすべて 1 から作成する必要があ り ます。

チュー ト ルアル 2 では、 DDF Builder イ ン ターフ ェ イ ス内でフ ァ イル と フ ォルダーを見る ために 2 つの DSN を作

成する必要があ り ます。 一方の DSN はチュー ト リ アル 2 のデータベース を指し、 も う 一方の DSN は Tutorial2 フ ォルダーにあ る V3 データベース を指し ます。

<Application Data>\DDFBUILDER\TUTORIALS\TUTORIAL2\V3

41

Page 52: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

次の表では ODBC データ ソース ア ド ミ ニス ト レーターで Tutorial 2 および V3 データベースの DSN を作成するた

めのオプシ ョ ンを示し ます。

データ ソース名 説明 データベース名

Tutorial2 Pervasive ODBC Engine Interface Tutorial2

V3 Pervasive ODBC Engine Interface V3

ヒ ン ト ODBC データ ソース ア ド ミ ニス ト レーターを使って DSN を作成する必要があ る場合は、 『Pervasive PSQL User's Guide』 を参考にし て く ださい。

フ ァ イルをバッ ク ア ッ プし、 チュー ト リ アルのフ ァ イルの所在を確認し、 DSN を作成し た ら、 チュー ト リ アル 1 を開始する準備が整いま し た。

42

Page 53: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

チュー ト リ アル 1 - DDF Builder でテーブル定義を作成する

チュー ト リ アル 1 - DDF Builder でテーブル定義を作成する

シナ リ オ

こ のチュー ト リ アルでは、 Btrieve データ フ ァ イルがあ り 、 そのレポー ト を作成する ために ODBC ア ク セス を提

供する必要があ り ます。

これを行 う には、 その Btrieve フ ァ イル用のテーブル定義を作成する必要があ り ます。 テーブル定義はデータベー

スの DDF フ ァ イルに格納されます。 ご存知の とお り 、 この Btrieve フ ァ イル用のテーブル定義はないので 初か

ら作成し ます。

目的

こ のチュー ト リ アルの目的は、 テーブル定義のない Btrieve フ ァ イルへ リ レーシ ョ ナル ア ク セス を提供する ため

に必要な手順を実践する こ と です。 こ のチュー ト リ アルの目的を達成するためには、DDF Builder を使用し て以下

の作業を実行し ます。

Pervasive データベース を作成する

既存の Btrieve フ ァ イルを開 く

DDF Builder によ る調査結果を検証する

レ コード フ ィ ール ド を定義する

テーブル定義を保存する

イ ンデッ ク ス情報を検証する

定義し たデータ をプレ ビ ューする

ヒ ン ト テーブル定義の作成手順を通し て、 DDF Builder を使用する ための基本的な作業を学習し ます。 この

チュー ト リ アルは、手順の中でその基本的な作業を実践する よ う 設計されているので、DDF Builder を使用す

る ための一般的な作業について よ く 理解する こ と ができ ます。

必要な知識

DDF Builder でテーブル定義の作成や変更作業を行 う と きは、そのデータの構造についてあ る程度の知識が必要で

す。 こ のレ コード長やイ ンデッ ク ス情報などい く つかの情報は Btrieve フ ァ イル自身に保存されます。 しかし、 列

情報は Btrieve フ ァ イルに保存されません。 こ の列情報はソ フ ト ウ ェ ア ベンダーやアプ リ ケーシ ョ ン開発者から

提供される場合も あ り ます。 データ を入念に調べてテーブル定義の作成や変更を試みる こ と も でき ますが、 デー

タの構造について十分な知識を持っていない場合はこ のユーテ ィ リ テ ィ を使用し ないよ う にし て く ださい。

こ のチュー ト リ アルの場合、 データの構造はわかっています。 こ のフ ァ イルの構造を見てみま し ょ う 。

43

Page 54: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

CREATE_NEW.MKD と い う 名前の Btrieve データ フ ァ イルがあ り ます。 このフ ァ イルのレ コード長は 110 バイ ト

で 6 個のフ ィ ール ド があ り ます。 こ のフ ィ ール ド は次のよ う に定義されています。

表 8 作成する DDF のデータ構造

ID 4 Integer × ○

First Name 20 String ○ ○

Last Name 20 String × ○

DOB 4 Date ○

Address 50 String ○ ○

Income 8 Currency 8 2 ○

こ のフ ァ イルには、 ID フ ィ ール ド に設定された重複のないキー (一意のイ ンデッ ク ス) があ り 、 そのイ ンデッ ク

スには indx_id と い う 名前が付け られています。

データ構造について理解でき た ら、作業を開始する こ と ができ ます。DDF Builder を使用し て空のデータベース を

作成する こ と から始めます。 これは Btrieve フ ァ イル用に定義する空の DDF のセ ッ ト を提供し ます。

Pervasive データベースを作成する

既存の Btrieve フ ァ イル用に DDF を作成する前に、 まずはデータベース を作成する必要があ り ます。 DDF Builder を まだ実行し ていない場合は起動し ます。 「DDF Builder の起動」 を参照し て く ださい。

データベースを作成するには

1 データ ソース エク スプローラーで、 データベース を作成するマシンのツ リ ーを展開し ます。 これは DDF Builder がイ ン ス ト ールされている同じマシンです。

2 [データベース] ア イ コ ンを右ク リ ッ ク し、 次に [データベースの追加] を ク リ ッ ク し ます。

新しいデータベース を作成する ための [データベースの新規作成] ダ イ ア ロ グ ボ ッ ク スが表示されます。

3 [データベースの新規作成] ウ ィ ザード で、 以下のパラ メ ーターを指定し ます。

データベース名 : TUTORIAL1場所 :

<Application Data>\DDFBUILDER\TUTORIALS\TUTORIAL1\

バウ ン ド : チェ ッ ク し ない

辞書フ ァ イルの作成 : チェ ッ クする

関係整合性の設定 : チェ ッ クする

フィールド サイズ データ型 桁数 小数位 ヌル 大小文字

無視

インデックス

44

Page 55: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

チュー ト リ アル 1 - DDF Builder でテーブル定義を作成する

長い メ タデータ (V2 メ タデータ) : チェ ッ クする

データベース コード ページ : サーバーのデフ ォル ト

32 ビ ッ ト エンジン DSN の作成 : チェ ッ クする

[データベースの新規作成] ダ イ ア ロ グは次のよ う にな り ます。

ヒ ン ト これらの手順でデータベース を作成する と、 データ ソース名 (DSN) も作成されます。 チュー ト リ

アルの作業が終了し た ら、 こ こ で作成された DSN とデータベースは削除し て もかまいません。

4 [終了] を ク リ ッ クする と、 指定し た場所にデータベース と空の DDF フ ァ イルが作成されます。

データベースが作成される と、 データ ソース エ ク スプローラーのデータベース ツ リ ーにそのデータベースが新

しい ノ ード と し て表示されます。

こ のデータベース ノード には、 [データ パス]、 [SQL テーブル] および [システム オブジェ ク ト ] フ ォルダーが

あ り ます。[データ パス] フ ォルダーには Btrieve フ ァ イルの場所が含まれています。[SQL テーブル] フ ォルダー

にはデータベースの リ レーシ ョ ナル テーブルが含まれ (こ の時点ではあ り ません) 、 [システム オブジ ェ ク ト ]

フ ォルダーはシステム辞書テーブル用および、 こ の場合は空のデータ辞書フ ァ イル用のフ ォルダーにな り ます。

これらの要素を使用し て PSQL データベース を作成する こ と が、 Btrieve フ ァ イル用のテーブル定義を作成する

初の手順です。 先程作成されたデータベースには辞書フ ァ イル (DDF) があ り ますが、 現時点でこれらのフ ァ イ

ルには DDF 自身の構造用の定義しか含まれていません。DDF Builder で Btrieve フ ァ イルを開いた ら、 このデータ

ベース用に作成された DDF へテーブル定義を追加し、 その Btrieve フ ァ イルのデータにア ク セスでき る よ う にし

ます。

こ のデータベースには SQL テーブルが含まれていないので注意し て く ださい。含まれているのはこのチュー ト リ

アルで使用する CREATE_NEW.MKD Btrieve フ ァ イルのみです。 これは定義済みのユーザー テーブルがないから

45

Page 56: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

です。 データ フ ァ イル と は別に、 空の DDF が [システム オブジェ ク ト ] フ ォルダーに置かれています。 テーブ

ル定義を作成する と、 そのテーブル定義に一致する SQL テーブルも作成されます。 こ の SQL テーブルはテーブ

ル定義にア ク セス し ます。 引き続き、 DDF Builder で Btrieve フ ァ イルを開 く 作業に進みます。

既存の Btrieve フ ァ イルを開 く

Btrieve フ ァ イル と同じ場所に DDF フ ァ イルを作成し た ら、 DDF Builder でそのフ ァ イルを開いてデータ構造がど

のよ う に解読されるかを見ます。

Btrieve フ ァ イルを開 く には

1 DDF Builder で、 ローカル マシンを選択し、 作成し たデータベース を選択し ます。

データ ソース エ ク スプローラーはデータ パスの一覧を表示し て、 mkd フ ァ イルがイ ン ス ト ールされたデ ィ レ ク

ト リ を示し ます。 これはデータベース を作成し た場所 と同じデ ィ レ ク ト リ です。データ ソース エク スプローラー

で TUTORIAL1 データベース デ ィ レ ク ト リ の構造は次のよ う にな り ます。

2 フ ァ イルが含まれる CREATE_NEW.MKD フ ォルダーを右ク リ ッ ク し、 [テーブル定義の作成] を ク リ ッ ク し

ます。

テーブル定義を作成する場合、DDF Builder では新しいテーブル名と こ のテーブル定義のセ ッ ト を関連付けるため

の [テーブル定義の新規作成] ダ イ ア ロ グを表示し ます。 このテーブルは ト ラ ンザク シ ョ ナル フ ァ イルに対応す

る リ レーシ ョ ナル テーブル と考えて く ださ い。 テーブル定義の作成が終了する と、 SQL テーブルは元の Btrieve フ ァ イル と同じ構造を正確に反映し ているはずです。

46

Page 57: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

チュー ト リ アル 1 - DDF Builder でテーブル定義を作成する

3 テーブル名と し てデフ ォル ト の 「CREATE_NEW」 を使用し、 [OK] を ク リ ッ ク し ます。

テーブルの名前を指定し て [OK] を ク リ ッ クする と、 DDF Builder では Btrieve フ ァ イルを開 く こ と ができ る よ う

にする ために、そのフ ァ イルの分析を開始し ます。 DDF Builder ではフ ァ イル内に認識でき る キーやイ ンデッ ク ス

があ るかを判断し、 その結果をテーブル定義エデ ィ ター内に表示し ます。 テーブル定義エデ ィ ターの表示は次の

よ う にな り ます。

フ ァ イルを開 く こ と ができ た ら、 DDF Builder の調査結果を よ り 詳し く 見ていき ます。

DDF Builder による調査結果を検証する

DDF Builder ではフ ァ イルの一般的な統計情報と既知のキーまたはイ ンデッ ク ス を基にデータ を分析し ます。DDF Builder によ る分析では、 このフ ァ イルのレ コード の先頭 4 バイ ト はキーであ り 、 そのキーは Btrieve データ型で

Integer であ る こ と を検出し ています。このキーはテーブル定義エデ ィ ターの先頭列でキー ア イ コ ン と し て示され

ています。

レ コード内のキー以外の残 り の部分は DDF Builder で解読でき ないため 1 つのグループにま と められ、 テーブル

定義エデ ィ ターで疑問符ア イ コ ン と し て示し Btrieve 型には不明 (Unknown) が割 り 当て られます。

47

Page 58: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

Btrieve フ ァ イル用のテーブル定義を作成するにあた り 、 DDF Builder で検出された不明なフ ィ ール ド を必要に応

じ て さ まざまなフ ィ ール ドへ分割する と い う 作業が生じ ます。 こ のま ま先に進めば、 各フ ィ ール ド を詳細に定義

し ます。

レ コード フ ィ ール ド の定義を始める前に、テーブル定義エデ ィ ターでヌルがどのよ う に扱われるかを理解し てお

いて く ださい。

メ モ このチュー ト リ アルでは真のヌルを使用し ますが、 旧バージ ョ ンの Pervasive.SQL と Scalable SQL では

真のヌルをサポー ト し ていなかった こ と に注意し て く だ さ い。 サポー ト し ていたのはレガシー ヌルのみで

す。 真のヌルは Pervasive.SQL 2000 で初めて導入されま し た。 Pervasive.SQL 2000 よ り 前に作成されたフ ァ イ

ルで作業する場合、 ヌルに関する次のセ ク シ ョ ンは省いて もかまいません。

ヌルに関する注記

こ のチュー ト リ アルでレ コード フ ィ ール ド を定義する場合、 フ ィ ール ド にヌル値を許可するかど う かについて留

意する こ と が重要です。 なぜな ら、 レ コー ド の一部分でヌル値を許可する場合、 1 バイ ト が余分にフ ィ ール ド へ

追加されるからです。 Btrieve フ ァ イルでは、 ヌル値が許可される レ コード 部分はヌル イ ンジケーター バイ ト に

よ って指定されます。 ヌル イ ンジケーター バイ ト は、 テーブル定義エデ ィ ターの未加工データ ビ ューでフ ィ ー

ル ド または列の直前のバイ ト に該当し ます。 [ヌル] チェ ッ ク ボ ッ ク スが選択される と、 ヌル イ ンジケーター バ

イ ト がア ク テ ィ ブにな り 、そのヌル イ ンジケーター バイ ト 分を確保するためフ ィ ール ド のサイ ズは自動的に 1 バ

イ ト 削減されます。

サイ ズが 50 バイ ト でヌル値を許可する フ ィ ール ド を作成する と し ます。 ヌル イ ンジケーター バイ ト を確保する

ためにはフ ィ ール ド のサイ ズを 51 バイ ト と し て選択し ます。 フ ィ ール ド にヌル値を許可する と、そのサイ ズは自

動的に 50 バイ ト に削減されます。

こ の情報はレ コード のフ ィ ール ド を定義する際に役立ちます。

メ モ DDF Builder でヌルを扱 う 作業の詳細については、 「DDF Builder における レガシー ヌル」 および 「DDF Builder における真のヌル」 を参照し て く ださい。

レ コー ド フ ィ ールド を定義する

既にご覧になった よ う に、 Btrieve フ ァ イルを開 く と DDF Builder では 4 バイ ト のイ ンデッ ク ス と それ以外を 106 バイ ト の不明なフ ィ ール ド と判断し ます。 不明なフ ィ ール ド を レ コード フ ィ ール ド に定義し ます。

レ コー ド フ ィ ールド を定義するには

DDF Builder は先頭フ ィ ール ド のほ と んどの属性を判断し ま し たが、 フ ィ ール ド名は判断でき ませんでし た。 この

ため、 まずは先頭フ ィ ール ド に名前を付けて く ださい。

フ ィ ールド に名前を付ける

1 グ リ ッ ド データ ビ ューで、 " フ ィ ール ド 0" の行を選択し、 以下の情報を反映するために必要な値を入力し

ます。

フ ィ ール ド : IDヌル : チェ ッ ク し ない

位置 : 0サイ ズ : 4Btrieve 型 : IntegerSQL 型 : INTEGER桁数 : 0小数位 : 0

48

Page 59: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

チュー ト リ アル 1 - DDF Builder でテーブル定義を作成する

大小文字無視 : チェ ッ ク し ない

DDF Builder ではこ の行のほ と んどの属性を判断し ているので、変更が必要な値のみ入力し て く ださ い。 この

行の値をすべて確認し て く ださい。

グ リ ッ ド データ ビ ューの画面では、"ID" と い う 名前を付けたキー行と DDF Builder で検出された " フ ィ ール

ド 1" と い う 2 つの行が示されます。

これで不明なデータ を解析し て定義する準備ができ ま し た。

次のフ ィ ール ド はヌル値を許可する よ う 定義し ます。 次の手順では未加工データ ビ ューでデータ を選択し、 その

データから ヌル値を許可する列を作成する方法について説明し ます。

未加工データ ビ ューでヌル値を許可する列を作成する

2 未加工データ ビ ューでオフセ ッ ト 4 から 21 バイ ト 分のデータ を選択し ます。

ヒ ン ト オフセ ッ ト 4 を特定するには、 未加工データ ビ ューで先頭レ コード のすぐ上にあ る疑問符マーク を

見つけるか、 [オフセ ッ ト ] イ ンジケーターの値が 4 になる場所にカーソルを置き ます。

3 右ク リ ッ ク し て [ヌル値を許可する列の作成] を選択し ます。

ヒ ン ト 列を 1 つ作成する と、 未加工データ ビ ューと グ リ ッ ド データ ビ ューのどち らにも、 レ コード の残 り

のバイ ト を ま と めた新しい列が自動的に作成されます。

21 バイ ト 分を選択し たはずですが、グ リ ッ ド データ ビ ューでそのサイ ズが 20 バイ ト と表示される こ と に注

目し て く ださい。 これは前に説明し たヌル イ ンジケーターによ る ものです。ヌル イ ンジケーター バイ ト は未

加工データ ビ ューに § 記号で示され、 追加バイ ト と し て割 り 当て られます。

49

Page 60: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

エデ ィ ターには、 4 バイ ト の整数値 (ID)、 前の手順で作成し たヌル値を許可する列 (フ ィ ール ド 1)、 そし

て新たに残 り のバイ ト を ま と めた不明なフ ィ ール ド(フ ィ ール ド 2)と い う 3 つのフ ィ ール ド が表示されます。

作業を進める前に、 ヌル値を許可する列の定義を済ませて く ださ い。

4 グ リ ッ ド データ ビ ューで " フ ィ ール ド 1" の行を選択し ます。

5 以下の情報を反映する ために必要な値を入力し ます。

フ ィ ール ド : FirstNameヌル : チェ ッ クする

位置 : 5サイ ズ : 20Btrieve 型 : StringSQL 型 : CHAR(20)桁数 : 0小数位 : 0大小文字無視 : チェ ッ クする

ヒ ン ト 未加工データ ビ ューで選択し たバイ ト 数と、 こ の列を ヌル値を許可する列と し て作成し ている こ と

から、 サイ ズ と ヌルの選択はあ らかじめ決定し ています。 また、 こ のサイ ズでは列に対し て選択でき るデー

タ型が限定されます。

Btrieve 型を設定し てそのフ ィ ール ド が定義される と、 それ以降、 グ リ ッ ド データ ビ ューには不明なフ ィ ール ド

イ ンジケーターが表示されな く なるので注意し て く ださ い。

引き続き、グ リ ッ ド データ ビ ュー内で不明な行を複数の列に分割し て、 フ ァ イル内の不明なフ ィ ール ド を定義し

ます。

グ リ ッ ド データ ビ ューで列を分割する

6 グ リ ッ ド データ ビ ューで " フ ィ ール ド 2" の行を選択し ます。

7 右ク リ ッ ク し て [列の分割] を選択し ます。

50

Page 61: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

チュー ト リ アル 1 - DDF Builder でテーブル定義を作成する

列を分割する場合、 分割される 2 つの列のサイ ズはそれぞれ同等か、 ほぼ同等になる よ う にし ます。 これは、 85 バイ ト の列を 2 つの列に分割し た場合、一方の列は 42 バイ ト でも う 一方の列は 43 バイ ト にな る と い う こ と です。

8 " フ ィ ール ド 2" の行を選択し ます。

9 以下の情報を反映する ために必要な値を入力し ます。

フ ィ ール ド : LastNameヌル : チェ ッ ク し ない

位置 : 25サイ ズ : 20Btrieve 型 : StringSQL 型 : CHAR(20)桁数 : 0小数位 : 0大小文字無視 : チェ ッ クする

サイ ズを 42 から 20 に変更する と、 DDF Builder では " フ ィ ール ド 3" 行に余分の 22 バイ ト を追加し ます。

SQL プレ ビ ュー列には定義されたデータが表示されている こ と がわか り ます。 こ こ では、 テーブル定義に基づき

DDF Builder がデータがどのよ う に解釈し たかをプレ ビ ューし ています。

51

Page 62: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

10 " フ ィ ール ド 3" の行を右ク リ ッ ク し て [列の分割] を選択し、 この行を分割し ます。

こ の列を分割する と、 フ ィ ール ド 3 は 32 バイ ト に変更され、 33 バイ ト のフ ィ ール ド 4 が作成されます。

フ ィ ール ド 3 を定義し ます。 こ のフ ィ ール ド にはヌル値を許可し ます。

11 [ヌル] チェ ッ ク ボ ッ ク ス を選択し て、 フ ィ ール ド の先頭を ヌル イ ンジケーター バイ ト で予約し ます。

[ヌル] チェ ッ ク ボ ッ ク ス を選択する と、 自動的にサイ ズが 31 に減少するので注意し て く ださい。

12 " フ ィ ール ド 3" の行を選択し ます。

13 以下の情報を反映する ために必要な値を入力し ます。

フ ィ ール ド : DOBヌル : チェ ッ クする

位置 : 46サイ ズ : 4Btrieve 型 : DateSQL 型 : Date桁数 : 0小数位 : 0大小文字無視 : チェ ッ ク し ない

テーブル定義は次のよ う にな り ます。

サイ ズを 4 に変更する と、 DDF Builder では残 り のバイ ト 数を次のフ ィ ール ド に含めます。

こ の時点で、 60 バイ ト の不明なフ ィ ール ド が残っています。 データ構造ではさ らに 2 つのフ ィ ール ド の定義が必

要であ る こ と を示し ています。 未加工データ ビ ューを使用し て、 その列を作成し ます。

52

Page 63: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

チュー ト リ アル 1 - DDF Builder でテーブル定義を作成する

未加工データ ビ ューから列を作成する

14 未加工データ ビ ューでオフセ ッ ト 50 から 51 バイ ト 分のデータ を選択し ます。

ヒ ン ト オフセ ッ ト 50 を特定するには、未加工データ ビ ューで先頭レ コード のすぐ上にあ る疑問符マーク を

見つけるか、 [オフセ ッ ト ] イ ンジケーターの値が 50 になる場所にカーソルを置き ます。

15 右ク リ ッ ク し て [列の作成] を選択し ます。

ヌル値を許可し ない列を作成し ま し たが、本当に必要なのはヌル値を許可する列です。グ リ ッ ド データ ビ ューを

使用し て、 こ の列を ヌル値を許可する列に変更し ます。

グ リ ッ ド データ ビ ューでヌル値不可の列を ヌル値を許可する列に変更する

16 " フ ィ ール ド 4" の行を選択し て、 [ヌル] チェ ッ ク ボ ッ ク ス を選択し ます。

[ヌル] チェ ッ ク ボ ッ ク ス をチェ ッ クする と、 ヌル バイ ト イ ンジケーターを確保するのでサイ ズが 50 バイ ト に減

少し ます。

17 こ の他、 以下のフ ィ ール ド情報を反映する ために必要な値を入力し ます。

フ ィ ール ド : Addressヌル : チェ ッ クする

位置 : 51サイ ズ : 50Btrieve 型 : String

53

Page 64: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

SQL 型 : CHAR(50)大小文字無視 : チェ ッ クする

テーブル定義は次のよ う にな り ます。

後に、 フ ァ イルの 後のフ ィ ール ド を定義し ます。

18 グ リ ッ ド データ ビ ューで " フ ィ ール ド 5" の行を選択し、 以下の変更を こ の順番で行います。

ヌル : チェ ッ クする

フ ィ ール ド : IncomeBtrieve 型 : Currency

初に [ヌル] チェ ッ ク ボ ッ ク ス を選択する こ と によ って、 サイ ズは自動的に修正されます。 初にサイ ズを 8 に変更する と、 DDF Builder では 後に残った 1 バイ ト から不明な列を新たに作成し て し まいます。

これで、 フ ァ イルのフ ィ ール ド に対する定義が終了し ま し た。 テーブル定義は次のよ う にな り ます。

作業を進める前に、 テーブル定義を保存し ておいて く ださ い。

19 [フ ァ イル|保管] または、 ツールバーの [保存] ア イ コ ンを ク リ ッ ク し て変更を保存し ます。

これで DDF にテーブル定義を作成する こ と ができ ま し た。 作業を保存する と、 データ ソース エク スプローラー

で [SQL テーブル] ノード の下にその SQL テーブルが作成されます。

54

Page 65: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

チュー ト リ アル 1 - DDF Builder でテーブル定義を作成する

テーブル定義を作成し たので、 イ ンデッ ク ス を見てみま し ょ う 。

イ ンデッ クス情報を見直す

DDF Builder がフ ァ イルで検出し た イ ンデッ ク ス を見てみま し ょ う 。

1 テーブル定義エデ ィ ター で [イ ンデ ッ クス] タブを ク リ ッ ク し ます。

DDF Builder ではフ ァ イルに作成されている イ ンデッ ク ス を検出する こ と ができ ますが、 Btrieve はイ ンデッ ク ス

名を使用し ないため、 DDF Builder でイ ンデッ ク スに関連付ける名前はあ り ません。

[イ ンデッ ク ス] ページは主に読み取 り 専用ですが、 イ ンデッ ク ス名については変更可能です。

イ ンデ ッ クスの名前を付ける

2 [イ ンデッ ク ス] 列の " イ ンデッ ク ス 0" エン ト リ をダブルク リ ッ ク し て選択し ます。

3 データ構造から、 イ ンデッ ク ス名と し て 「indx_id」 と入力し ます。

55

Page 66: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

4 作業を進める前に、 イ ンデッ ク スの変更を保存し ておいて く ださ い。 [フ ァ イル|保管] を ク リ ッ ク し て保存

し ます。

DDF Builder でイ ンデッ ク スに対し て行 う こ と ができ るのはこれだけです。

テーブル定義を終えた ら そのデータ を必ずプレ ビ ューする よ う にし て く ださ い。

定義し たデータ をプレビ ューする

次に、 作成し たテーブル定義用のフ ァ イルにあ るデータ を再度確認し ます。

1 DDF Builder が起動し ていれば、 テーブル定義エデ ィ ターで [プレビ ュー] タブを ク リ ッ ク し ます。

[プレ ビ ュー] ページは次のよ う になっているはずです。

[プレ ビ ュー] ページでは、作成し たテーブル定義を使用し て書式設定されたフ ァ イルのデータ を見る こ と が

でき ます。 見てわかる よ う に、 すべてのデータが列名やデータ型に応じ て適正に表示されています。

こ のページの下部にあ るボタ ンを使用する と、 データ を移動し て全レ コード を検証する こ と ができ ます。 場

合によ っては予期し ない書式のデータが見つか り 、 テーブル定義を完成させるために対処する必要があ るか

も しれません。

予測どお り に表示されていないデータが見つかった場合は、 次のセ ク シ ョ ンの 「チュー ト リ アル 2 - DDF Builder でテーブル定義を変更する」 を参照し て く ださい。

既に保存済みのテーブル定義に対し て変更を行 う 場合、DDF Builder を閉じ る前には作業を必ず保存し て く だ

さい。

終わり に

おめで と う ございます。 これでチュー ト リ アル 1 は完了し、 リ レーシ ョ ナル ア ク セス を使用し て Btrieve フ ァ イ

ルのデータにア ク セスでき る DDF のセ ッ ト を持つこ と ができ ま し た。

56

Page 67: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

チュー ト リ アル 1 - DDF Builder でテーブル定義を作成する

次のチュー ト リ アルでは Btrieve フ ァ イル用に作成されている DDF のセ ッ ト に対する変更に取 り 組みます。

また、 DDF Builder で自動的に検出される DDF に伴 う い く つかの問題について も取 り 上げます。

ヒ ン ト このチュー ト リ アルではデータベース と DSN を新規作成し ま し た。 システムから これら を削除する

必要があ る場合は、 こ の時点で削除し て もかまいません。

57

Page 68: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

チュー ト リ アル 2 - DDF Builder でテーブル定義を変更する

古い DDF または不正な DDF を処理する場合にはさ まざまなシナ リ オが発生するので、 こ のチュー ト リ アルでは

それぞれのシナ リ オについて余すと こ ろな く 取 り 上げています。そのため、こ のチュー ト リ アルはさ まざまなレ ッ

ス ンで構成され、 Btrieve フ ァ イルや既存のテーブル定義で作業する と きに発生する可能性のあ る特定の状況を

レ ッ ス ンご と に詳し く 述べています。 各レ ッ ス ンは、 混乱を招かないよ う 1 つの問題に専念し て解決でき る よ う

設計されています。

こ のチュー ト リ アルは、 処理しやすい単位で分割し た課題を レ ッ ス ンご と に取 り 組むこ と ができ る よ う 整理され

ています。 また、 こ のチュー ト リ アルは ト ラブルシューテ ィ ング調査と し て参照し、 発生する可能性があ る状況

を見つける と い う こ と にも利用でき ます。 レ ッ ス ンの一覧から、 探し ている状況について取 り 上げている レ ッ ス

ンに進み、 有効な解決策を調べる こ と ができ ます。

シナ リ オ

使用可能な DDF を持つ Btrieve データ フ ァ イルの一群があ り ます。 しかし、 その DDF のテーブル定義は古いも

ので変更する必要があ り ます。 これはベンダーから古いフ ァ イルを受け取った、 あ るいはアプ リ ケーシ ョ ンが変

更されて も DDF が適切に更新されていなかった と い う 状況が考え られます。

目的

こ のチュー ト リ アルの目的は、 すべての Btrieve フ ァ イル と既存のテーブル定義を開 く こ と です。 DDF Builder の

調査結果を検証し て必要であれば変更を行い、DDF Builder でそのテーブル定義を保存し ます。 このテーブル定義

はデータベース スキーマを ミ ラー化するので、 Btrieve フ ァ イルのデータ を厳密に表示でき ます。

このチュー ト リ アルの各レ ッ ス ン内容は次の とお り です。

「レ ッ ス ン 1 - v3.00 の DDF を使った作業」

「レ ッ ス ン 2 - v6.x よ り 前のフ ァ イル形式での作業」

「レ ッ ス ン 3 - 不正なデータ型と サイ ズ」

「レ ッ ス ン 4 - 列の定義の重複」

「レ ッ ス ン 5 - フ ァ イル / フ ィ ール ド フ ラ グの不一致」

「レ ッ ス ン 6 - イ ンデッ ク スの不一致」

「レ ッ ス ン 7 - 可変長レ コード の不一致」

「レ ッ ス ン 8 - レ コード長の不一致」

58

Page 69: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 1 - v3.00 の DDF を使った作業

レ ッ スン 1 - v3.00 の DDF を使った作業

シナ リ オ

こ のレ ッ ス ンでは、既存のテーブル定義セ ッ ト を持つ 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 と い う 名前のフ ォルダーにあ り ます。 デフ ォル ト のイ ン ス ト ール先にイ

ン ス ト ールし ている場合、 こ のフ ォルダーは次の場所にあ り ます。

<Application Data>\DDFBUILDER\TUTORIALS\TUTORIAL2\V3

作業を続ける前に、 こ のデータベース用の DSN を作成する必要があ り ます。

メ モ DSN の作成について情報が必要な場合は、 「データ ソース名 (DSN) の作成」 を参照し て く ださい。

Btrieve フ ァ イルを開 く

DDF Builder を まだ実行し ていない場合は起動し ます。

1 DDF Builder のデータ ソース エ ク スプローラーで、[データベース] ノード を展開し て使用可能データベース

をすべて表示し ます。

2 一覧から V3 データベース を見つけます。

3 V3 データベース ア イ コ ンをダブルク リ ッ ク し ます。

次の メ ッ セージが表示されます。

59

Page 70: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

4 [OK] を ク リ ッ ク し て この メ ッ セージ ウ ィ ン ド ウ を閉じ ます。

本来、 これらのフ ァ イルは、 現在ではサポー ト されていないバージ ョ ンの製品で作成されているため開 く こ と が

でき ません。

警告メ ッ セージを理解する

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 があ る場合はそれら を新しいフ ォーマ ッ ト に変換する必要があ り ます。 以下の手順を使用し ます。

1 既存の古いデータベース をバッ ク ア ッ プする ため、データ フ ァ イル と DDF を別の保存場所にコ ピーし ます。

2 Pervasive PSQL Control Center (PCC) を使用し て古いデータベースの全テーブルのテーブル スキーマをエ ク

スポー ト し ます。 『Pervasive PSQL User's Guide』 の 「すべてのテーブル スキーマを一度にエ ク スポー ト する

には」 を参照し て く ださ い。 ["IN DICTIONARY" 句を CREATE ステー ト メ ン ト に追加する] エ ク スポー ト

オプシ ョ ンを必ず選択し ておいて く ださい。

3 エ ク スポー ト フ ァ イルの CREATE INDEX ステー ト メ ン ト で、 各テーブルのイ ンデッ ク ス セグ メ ン ト が正し

い順序で置かれている こ と を確認し て く ださい。

テーブルのイ ンデッ ク スは元のデータ フ ァ イル と同じ順序になっていなければな り ません。エク スポー ト さ

れる テーブル スキーマはイ ンデッ ク ス をアルフ ァベッ ト 順に置 く ので、 こ のステー ト メ ン ト を並べ替え る必

要があ るかも しれません。

イ ンデッ ク スの順序を調べるには、元のデータ フ ァ イルに対し て butil -stat コマン ド を使用し ます。『Advanced Operations Guide』 の 「データ フ ァ イル情報の表示」 を参照し て く ださい。 また、 dbo.fSQLStatistics カ タ ロ グ

関数を使用し て調べる こ と もでき ます。『SQL Engine Reference』 の 「dbo.fSQLStatistics」 を参照し て く ださい。

4 一般的には、古いフ ァ イルを変換するので、次の行をエク スポー ト スキーマ フ ァ イルの先頭行と し て追加す

る必要があ り ます。

SET TRUE

NULLCREATE = OFF;

次の行を、 フ ァ イルの最終行と し て追加し ます。

SET TRUENULLCREATE = ON;

5 PCC で新しいデータベース を作成し ます。 『Pervasive PSQL User's Guide』 の 「新規データベース を作成する

には」 を参照し て く ださい。

6 PCC の SQL Editor で、エ ク スポー ト スキーマ フ ァ イルの CREATE TABLE SQL ステー ト メ ン ト を新しいデー

タベースに対し て実行し、 すべてのテーブルを作成し ます。 『Pervasive PSQL User's Guide』 の 「SQL ス ク リ

プ ト を開 く には」 を参照し て く ださい。

60

Page 71: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 1 - v3.00 の DDF を使った作業

7 古いデータベースから古い Pervasive PSQL データ フ ァ イル (DDF 以外) を、新しいデータベース データ フ ァ

イル用の保存場所にコ ピーし ます。

SQL を使用 (PCC などを使用) し て既存のデータにア ク セスでき る よ う にな り ます。

8 DDF Builder を使用し て、 定義がなかった Btrieve フ ァ イルに対し テーブル定義を作成し、 また問題のあ る定

義を修正し ます。 「変換に関する注意」 も参照し て く ださ い。

9 必要であれば、 データ フ ァ イルを リ ビル ド し ます (6.x 以前のフ ァ イル形式の場合に必要と な る可能性があ

り ます)。 Btrieve データ フ ァ イルの リ ビル ド の詳細については、 次のセ ク シ ョ ン 「レ ッ ス ン 2 - v6.x よ り 前

のフ ァ イル形式での作業」 に進んで く ださい。

変換に関する注意

上記の手順は、 シンプルなデータ フ ァ イルに対する も基本的な作業です。 まずはこ の手順を試し て変換の結果

を調べて く ださい。

以下の 2 つの状況があ る場合は、 さ らに作業が必要です。

「オルタネー ト コ レーテ ィ ング シーケン ス」

「PCC および DDF Builder の使用を必要とする テーブル定義」

オルタ ネー ト コ レーテ ィ ング シーケンス

テーブルの列がオルタネー ト コ レーテ ィ ング シーケン ス (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 の使用を必要とするテーブル定義

テーブル定義によ っては、 解決が困難なため PCC と DDF Builder の両方を使用する必要があ る場合も あ り ます。

列が DDF Builder で " 不明 " と示された場合は、 PCC の Table Editor でその列が含まれる テーブルを表示し、 DDF

61

Page 72: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

Builder 側でその列を同様に定義する必要があ り ます。 両方のユーテ ィ リ テ ィ を用いて作業する こ と によ り 、 テー

ブル定義を完了させる こ と ができ ます。

終わり に

こ のレ ッ ス ンでは、 DDF Builder で Scalable SQL v3.01 の DDF がどのよ う に処理されるかをご紹介し、 またそれ

ら DDF を本ソ フ ト ウ ェ アの現行バージ ョ ンで作業でき る よ う に変換する ための解決策も提供し ま し た。

また、 Scalable SQL v3.01 の DDF で作成されたデータベースには、 v6.x よ り 前のフ ァ イル形式の Btrieve データ

フ ァ イルが含まれている可能性があ るので、 それらのフ ァ イルも DDF Builder を使用する前に リ ビル ド し てお く

必要があ る こ と も学習し ま し た。

62

Page 73: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 2 - v6.x よ り前のフ ァ イル形式での作業

レ ッ スン 2 - v6.x よ り前のフ ァ イル形式での作業

シナ リ オ

こ のレ ッ ス ンでは、 既存のテーブル定義セ ッ ト を持つ Btrieve フ ァ イルがあ り ます。 この Btrieve フ ァ イルは v6.x よ り 前のフ ァ イル形式で、 本 リ リ ースの DDF Builder でサポー ト されている Pervasive PSQL と はも う 互換性があ

り ません。

注意 DDF Builder ではバージ ョ ン 6.x のフ ァ イルをサポー ト し ますが、 バージ ョ ン 6.x よ り 前に作成された

フ ァ イルはサポー ト し ません。

目的

こ のレ ッ ス ンの目的は、 DDF Builder でそのフ ァ イルを開 く こ と です。 こ こ では、 DDF Builder で v6.x よ り 前の

フ ァ イル形式 と v6.x 以上のフ ァ イル形式がどのよ う に処理されるかを説明し ます。 また、 v6.x よ り 前の Btrieve フ ァ イルを DDF Builder に対応させるための解決策も提供し ます。

必要な知識

こ のレ ッ ス ンで使用する フ ァ イル、および残 り のレ ッ ス ンで使用する フ ァ イルは Tutorial2 と い う フ ォルダーにあ

り ます。 デフ ォル ト のイ ン ス ト ール先にイ ン ス ト ールし ている場合、 こ のフ ォルダーは次の場所にあ り ます。

<Application Data>\DDFBUILDER\TUTORIALS\TUTORIAL2

作業を続ける前に、 こ のデータベース用の DSN を作成する必要があ り ます。

こ のレ ッ ス ンで作業対象と なる フ ァ イルは KO.BTR と KO.MKD です。

メ モ DSN の作成について情報が必要な場合は、 「データ ソース名 (DSN) の作成」 を参照し て く ださい。

Btrieve フ ァ イルを開 く

DDF Builder を まだ実行し ていない場合は起動し ます。

1 DDF Builder のデータ ソース エ ク スプローラーで、[データベース] ノード を展開し て使用可能なデータベー

ス をすべて表示し ます。

2 一覧から TUTORIAL2 データベース を見つけます。

3 TUTORIAL2 データベース ア イ コ ンをダブルク リ ッ ク し ます。

次の メ ッ セージが表示されます。

63

Page 74: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

4 [OK] を ク リ ッ ク し て この メ ッ セージ ウ ィ ン ド ウ を閉じ ます。

フ ォルダー内にあ るい く つかのフ ァ イルが v6.x よ り 前の形式であったため、全フ ァ イルを開 く こ と ができ ません

でし た。

警告メ ッ セージを理解する

DDF Builder ではバージ ョ ン 5.x 以下の形式のフ ァ イルが完全にサポー ト されな く なったので、そのフ ァ イルは開

く こ と ができ ません。 v6.x よ り 前の形式のフ ァ イルを使用するには、 そのフ ァ イルをバージ ョ ン 6.x 以上のフ ァ

イル形式に リ ビル ドする必要があ り ます。

ヒ ン ト DDF Builder は Pervasive PSQL v9.x 以上のバージ ョ ンでサポー ト されます。

バージ ョ ン 5.x 以下のフ ァ イルを リ ビル ドする前にロ グ フ ァ イルを確認し、 リ ビル ドする必要があ る フ ァ イルを

特定し て く ださい。

ログ フ ァ イルを表示する

リ ビル ドする必要があ る フ ァ イルは DDF Builder ロ グ フ ァ イルに記録されています。

ログ フ ァ イルにアクセスするには

1 DDF Builder の メ ニュー バーで [ヘルプ] を ク リ ッ ク し ます。

2 [DDF Builder のログを表示] を ク リ ッ ク し ます。

ロ グ フ ァ イルは、 ご使用のシステムでデフ ォル ト 設定されているテキス ト エデ ィ ターに表示されます。次の画面

は、 こ のレ ッ ス ン用のロ グ フ ァ イルのサンプルです。

ロ グ フ ァ イルには v6.x よ り 前の形式のフ ァ イルが リ ス ト ア ッ プされ、 そのフ ァ イルの完全なデータ パス も記録

されています。 こ のデータ パス を使用し て、 リ ビル ド が必要なフ ァ イルの場所を見つける こ と ができ ます。

フ ァ イルを リ ビルド する方法

Pervasive PSQL Rebuild ユーテ ィ リ テ ィ を使用し て、 フ ァ イルをバージ ョ ン 6.x 以上に リ ビル ド し ます。 Rebuild ユーテ ィ リ テ ィ は Pervasive PSQL におけ る中心的なユーテ ィ リ テ ィ の 1 つ と し て イ ン ス ト ール さ れる も ので、

Pervasive PSQL Control Center の [ツール] メ ニューから使用する こ と ができ ます。

64

Page 75: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 2 - v6.x よ り前のフ ァ イル形式での作業

次に行う こ と

Rebuild ユーテ ィ リ テ ィ は Pervasive PSQL Control Center から使用でき ます。 こ のユーテ ィ リ テ ィ の使用法につい

ては、 『Advanced Operations Guide』 の 「データ フ ァ イルの変換」 の章を参照し て く ださ い。

終わり に

こ のレ ッ ス ンでは、 DDF Builder で 6.x よ り 前のフ ァ イル形式がどのよ う に処理されるかをご紹介し、 またそれら

を DDF Builder で作業でき る よ う に リ ビル ドするための解決策も提供し ま し た。

65

Page 76: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

レ ッ スン 3 - 不正なデータ型とサイズ

シナ リ オ

こ のレ ッ ス ンでは、 不正なデータ型と サイ ズを持つ Btrieve フ ァ イルがあ り ます。 こ の結果、 データは理解でき る

よ う な書式に設定されません。

目的

こ のレ ッ ス ンの目的は、 DDF Builder で Btrieve フ ァ イルの既存のテーブル定義を開 く こ と です。 Btrieve 型ビ ュー

ですべてのデータ型と サイ ズを調べて必要な変更を行い、 フ ィ ール ド のサイ ズに対し て的確なデータ型でデータ

が書式設定される よ う にし ます。

必要な知識

こ のレ ッ ス ンでは、 TYPE_SIZE.MKD と い う フ ァ イルを使用し ます。 このフ ァ イルは Tutorial2 フ ォルダー内にあ

り ます。 デフ ォル ト のイ ン ス ト ール先にイ ン ス ト ールし ている場合、 こ のフ ォルダーは次の場所にあ り ます。

<Application Data>\DDFBUILDER\TUTORIALS\TUTORIAL2

こ のフ ォルダーは Tutorial2 データベースの一部です。

メ モ こ のチュー ト リ アルのデータにア ク セスするためには、このデータベース を指し示す DSN(データ ソー

ス名)が必要です。まだ DSN を作成し ていない場合は、「データ ソース名(DSN)の作成」を参照し て く ださい。

Btrieve フ ァ イルを開 く

すぐ前のレ ッ ス ンから引き続き作業し ていれば DDF Builder は起動し ているはずです。終了し ていた場合は、DDF Builder を起動し て く ださい。

1 DDF Builder のデータ ソース エ ク スプローラーで、 [データベース] ノード を展開し、 一覧から TUTORIAL2 データベース を見つけます。

2 TUTORIAL2 データベース ア イ コ ンをダブルク リ ッ ク し てその ノ ード を展開し ます。

3 ノ ード を さ らに展開し て TYPE_SIZE.MKD フ ァ イルを探し、 それに関連付け られている SQL テーブルを表

示し ます。

66

Page 77: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 3 - 不正なデータ型とサイズ

4 type_size SQL テーブル名をダブルク リ ッ クするか、 右ク リ ッ ク し て [テーブル定義の編集] を ク リ ッ ク し ま

す。

テーブル定義エデ ィ ターでは、 次の メ ッ セージが表示されます。

こ の メ ッ セージは、DDF Builder で既存のテーブル定義を分析し た ら、その定義に問題があった と い う こ と を知ら

せています。 この結果、 DDF Builder で既存のテーブル定義を開いて表示する ために、 い く つか修正を行 う 必要が

あ り ま し た。

5 [OK] を ク リ ッ クする と、 この メ ッ セージがク リ ア されテーブル定義が表示されます。

ヒ ン ト 発生する可能性があ る定義エラーの詳細については、 「テーブル定義エラー」 を参照し て く ださい。

不一致を探す

まずは DDF Builder イ ン ターフ ェ イ スで処理対象の不一致を確認し ます。 特に、 グ リ ッ ド データ ビ ューと定義エ

ラー ビ ューを見て く ださい。

テーブル定義エデ ィ ターのグ リ ッ ド データ ビ ューでは、既存のテーブル定義に対し て DDF Builder が行った変更

を反映し たテーブル定義が表示されています。

67

Page 78: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

メ モ DDF Builder が行った変更は自動的に保存されません。 DDF Builder によ る修正は保存する必要があ り

ます。

こ の例で、 DDF Builder は新たに作成し たフ ィ ール ドや、 DDF Builder がデータ型を 「不明」 に変更し たフ ィ ール

ド に対し て不明な列イ ンジケーターを追加する こ と によ り 、 注目すべき列を視覚的に示し ています。

ヒ ン ト グ リ ッ ド データ ビ ューにおける属性の詳細については、 「グ リ ッ ド データ ビ ューでのフ ィ ール ド属

性」 を参照し て く ださい。

定義エラー ビ ューでは DDF Builder によ って検出および変更された問題を表示し ます。

DDF Builder によ って変更が行われる前の元のテーブル定義は、 元の定義ビ ューで見る こ と ができ ます。

エラーについて理解する

定義エラー ビ ューでは以下のこ と を通知し ます。

問題が発生し た場所

DDF Builder で検出された問題

DDF Builder で元のテーブル定義に対し て行った変更事項

定義エラーでは次の 3 つの問題を挙げています。

問題が発生し た場所 DDF Builder で検出された問題 必要な対処

列 : フ ィ ール ド 6 DDFBLDR-6: テーブル定義内に未定義のバイ ト があ

り ます。 不明な列を追加し ま し た。

DDF Builder が未定義のバイ ト を明らかに

する ために追加 し た不明な列を定義する

必要があ り ます。

列 : Age DDFBLDR-11 : SQL 列の型が列サイ ズに適合し てい

ません。 列の型を "Unknown" に変更し ま し た。

DDF Builder が "Unknown" (不明) に変更

し た列の型を定義する必要があ り ます。

列 : dob DDFBLDR-11 : SQL 列の型が列サイ ズに適合し てい

ません。 列の型を "Unknown" に変更し ま し た。

DDF Builder が "Unknown" (不明) に変更

し た列の型を定義する必要があ り ます。

68

Page 79: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 3 - 不正なデータ型とサイズ

1 番目のエラーは、 元のテーブル定義では定義されていないバイ ト 群がフ ァ イルに含まれている こ と を示し てい

ます。 DDF Builder はこれら未定義のバイ ト を新しい列 と し て作成し、 その列に " フ ィ ール ド 6" と い う 名前を付

けま し た。

また、 このフ ァ イルには列のデータ型がその列のサイ ズに対し て不正な 2 つのフ ィ ール ド (Age と dob) があ り

ます。 どち ら も、 フ ィ ール ド の型が "Unknown" (不明) に変更されています。 Age 列について詳し く 見る前に、

まず DDF Builder で判断でき る こ と と でき ないこ と を確認し ます。

不正なデータ型とサイズ

DDF Builder では、指定し たデータ型に対し て有効なサイ ズを確かめる こ と はでき ませんが、指定し たサイ ズに対

し て有効なデータ型を検証する こ と はでき ます。 DDF Builder では問題を検出し て一般的な変更を行い、その変更

を記録する こ と はでき ますが、 選択されたデータ型が正しいかど う かを判断する こ と はでき ません。

DDF Builder ではフ ィ ール ド のサイ ズに応じ て選択でき るデータ型が制限されます。た と えば Age 列の不正なデー

タ型と サイ ズについて見てみる と、 サイ ズが 4 バイ ト になっています。 グ リ ッ ド データ ビ ューの [Btrieve 型] ド

ロ ッ プダウ ン リ ス ト には、4 バイ ト のサイ ズに対し て適用可能なデータ型のみが設定されます。DDF Builder で選

択可能なデータ型を 1 つずつ試し てみるのではな く 、 Btrieve 型ビ ューや [プレ ビ ュー] ページでそのデータ を見

て適切なデータ型を判断し て く ださい。

次に、 4 バイ ト のサイ ズに対し て適用可能なデータ型を調べ、 フ ァ イルのデータ をプレ ビ ューし てどのデータ型

が も適し ているかを見ます。

データ型とサイズを検証する

フ ィ ール ド サイ ズに対し て有効なデータ型で書式設定されたデータ を見るには、テーブル定義エデ ィ ターの左側

にあ る [Btrieve 型] タブの Btrieve 型ビ ューを使用し ます。

1 テーブル定義エデ ィ ターで Age 列を ク リ ッ ク し て選択し ます。

ヒ ン ト テーブル定義の Age 列を選択する と、 次で説明し ている よ う に [Btrieve 型] タブで特定のデータ を

見る こ と ができ ます。

2 DDF Builder イ ン ターフ ェ イ スの左側にあ る [Btrieve 型] タブを ク リ ッ ク を表示し ます。 [Btrieve 型] タブは

次のよ う に表示されます。

69

Page 80: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

ヒ ン ト Btrieve 型ビ ューの詳細については、 「Btrieve 型」 を参照し て く ださい。

3 Btrieve 型ビ ューの [プレ ビ ュー] 列に表示されるデータ を注意深 く 見て く ださい。

Btrieve 型ビ ューでは、 サイ ズが 4 バイ ト の場合に設定可能なデータ型のみを表示し ます。 このよ う に表示す

る こ と で、 その他の不正なデータ型をすべて除外する こ と ができ るため非常に役に立ちます。

その列が年齢を表すものでサイ ズが 4 バイ ト であ る こ と を知っていれば、 そのデータに対し て妥当なのは 3 種類のデータ型のみであ る こ と がわか り ます。

70

Page 81: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 3 - 不正なデータ型とサイズ

次に、 Auto Increment を妥当なデータ型の対象から除外し ます。 これは Auto Increment データ型を使用する と

新しいレ コード ご と に値が自動的に 1 ずつ増え る ためです。 自分の年齢に 1 を足す人はいないでし ょ う 。

こ の除外によ って Btrieve 型の一覧の中から Integer と Unsigned Binary と い う 2 つのデータ型に絞 り 込まれま

し た。

Integer および Unsigned Binary データ型は実際によ く 似ています。 これらのデータ型を試し てみて、データが

どのよ う に解釈されるかを確認し ます。 まず、 Age 列の Btrieve 型と し て Integer を選択し ます。

4 [Btrieve 型] ド ロ ッ プダウ ン リ ス ト から "Integer" を選択し ます。

グ リ ッ ド データ ビ ューの [プレ ビ ュー] 列では、 データが適切に受け入れられている よ う に見えます。 [プ

レ ビ ュー] ページでフ ァ イルのすべてのデータ を見る よ う にし て く ださ い。

5 テーブル定義エデ ィ ターの [プレビ ュー] タブを ク リ ッ ク し ます。 フ ァ イルの全データ を読みやすいレ イ ア

ウ ト で見る こ と ができ ます。

71

Page 82: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

フ ァ イルの全データ を見る こ と によ って全レ コード をすばや く 調査でき るので、 不正なデータ型かど う かを

よ り 確実に見極めるのに役立ちます。

Integer データ型を使用する と、 データが適切に書式設定されている よ う に見える こ と が確認でき ます。 念の

ため、 Unsigned Binary データ型も使用し て同じ よ う に検証し て く ださい。

6 [Btrieve 型] ド ロ ッ プダウ ン リ ス ト から "Unsigned Binary" を選択し ます。

同様に、 グ リ ッ ド データ ビ ューの [プレ ビ ュー] 列には適切な書式でデータが表示されています。 確認のた

め、 Integer データ型を使用し た と き と同じ よ う に、 [プレ ビ ュー] ページでフ ァ イルの全データ を見ます。

7 テーブル定義エデ ィ ターで [プレビ ュー] タブを ク リ ッ ク し て、 フ ァ イルの全データ を読みやすいレ イ ア ウ

ト で表示し ます。

Integer および Unsigned Binary データ型はいずれもデータ を適切に受け入れて理解でき る よ う に書式設定し ます。

また、 どち らのデータ型も 1、 2、 4 および 8 バイ ト をサポー ト し ます。 こ のため、 どち らかのデータ型を選択す

る ための決定的な理由はないよ う に思われます。 こ の例は、 テーブル定義を作成または変更する場合には、 デー

タの基本的な構造を知ってお く 必要があ る こ と を端的に示し ています。

最終的な変更を行う

有効なデータ型と書式設定されたデータ を再検討し、 Age 列には Integer データ型を選択する こ と にし ます。

72

Page 83: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 3 - 不正なデータ型とサイズ

これで 1 番目のテーブル定義エラーが解決されま し た。 しかし、 ほかのエラーを解決する まではテーブル定義を

保存する こ と ができ ません。

ヒ ン ト データ型が "Unknown" (不明) になっている も のをすべて解決し、 レ コー ド 内の未定義バイ ト を明

確に割 り 当てる まで、 テーブル定義を保存する こ と はでき ません。

次のエラー対象の 2 つのフ ィ ール ド は並んでいるので集合的に見る こ と ができ ます。 残 り の 2 つのテーブル定義

エラーを解決するには、 これら を単一のエラーと し て考える必要があ り ます。

まず、 dob フ ィ ール ド に定義されていたデータ型 (Date) は 2 バイ ト の列サイ ズに対し て有効ではない、 と い う

点に DDF Builder が注目し た こ と がわか り ます。 その結果、 DDF Builder はこのデータ型を "Unknown" (不明) に

変更し ま し た。

次に、元のテーブル定義では定義されていない 2 バイ ト があ り ます。DDF Builder はこれらの 2 バイ ト から新しい

列 (フ ィ ール ド 6) を作成し、 "Unknown" データ型を割 り 当てま し た。

dob フ ィ ール ド の用途に適し たデータ型は Date ですが、 この Date データ型は 4 バイ ト のフ ィ ール ド が必要です。

"dob" 列 " と " フ ィ ール ド 6" 列をマージすれば、Date データ型に適合する 4 バイ ト のフ ィ ール ド を作成でき ます。

2 つの列をマージ し て Date データ型を使用し た場合、 1 番目のエラーでも行った よ う に、 そのデータが適切に受

け入れられ理解でき る よ う な書式になっているかど う かを検証する必要があ り ます。

1 テーブル定義エデ ィ ターで、 "dob" 列 と " フ ィ ール ド 6" 列の両方を (Shift キーを使って) 選択し ます。

2 右ク リ ッ ク し て [列のマージ] を選択し ます。

2 つの列が 1 つにマージ され、 4 バイ ト の列が作成されます。

3 [Btrieve 型] ド ロ ッ プダウ ン リ ス ト から "Date" を選択し ます。

こ の情報の入力後に残 り の列フ ィ ール ド を見てみる と、 Date データ型を追加し た こ と によ ってレ コード のデータ

が適切に書式設定される こ と がわか り ます。

73

Page 84: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

[プレ ビ ュー] ページで、 Date データ型で書式設定されたデータがどのよ う に処理されるかを確認する こ と をお

勧めし ます。

4 グ リ ッ ド データ ビ ューの下部にあ る [プレビ ュー] タブを ク リ ッ ク し ます。

[プレ ビ ュー] ページの dob 列を見て、全データが適切に受け入れられ理解でき る書式で設定されている こ と を確

認でき ます。

テーブル定義を保存する

これでテーブル定義が完了し たので、 こ の作業を保存し て変更を有効にし て く ださ い。 作業を保存する前に、 も

う 一度テーブル定義を見直し て く ださい。 データ グ リ ッ ド ビ ューは次のよ う にな り ます。

Btrieve 型がすべて定義されている こ と、 未定義のフ ィ ール ド が残っていないこ と、 またすべてのバイ ト が明確に

割 り 当て られている こ と が一目でわか り ます。 これでテーブル定義を保存でき ます。

1 メ ニューから、 [フ ァ イル|保管] を選択し ます。

終わり に

こ のレ ッ ス ンでは、 データ型 と サイ ズが適合し ない場合に DDF Builder でどのよ う に処理されるかをご紹介し ま

し た。 不正なデータ型やサイ ズが既存のテーブル定義内でどのよ う に表示されるかを示し、 サイ ズ とデータ型が

適合し て情報が適切に正し く 表示でき る よ う テーブル定義を変更するための解決例をい く つか提供し ま し た。

74

Page 85: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 4 - 列の定義の重複

レ ッ スン 4 - 列の定義の重複

シナ リ オ

こ のレ ッ ス ンでは、 既存のテーブル定義があ り 、 フ ァ イル内で同じバイ ト を共有する 2 つの列定義が含まれてい

ます。 これは重複する列定義を作成する こ と になるので修正が必要です。

目的

こ のレ ッ ス ンの目的は、 DDF Builder でフ ァ イルを開き、 DDF Builder によ って こ の定義になんらかの変更が行わ

れるかど う かを確認する こ と です。DDF Builder が実施する変更を調べ、重複し ている列定義を修正するために必

要と なる変更について検討し ます。

メ モ DDF Builder はフ ァ イル内の重複する列定義を修正するための解決策を提示し、 それらの変更を保存で

き る よ う にし ます。

必要な知識

こ のレ ッ ス ンでは、 OVERLAP.MKD と い う フ ァ イルを使用し ます。 こ のフ ァ イルは Tutorial2 フ ォルダー内にあ

り ます。 デフ ォル ト のイ ン ス ト ール先にイ ン ス ト ールし ている場合、 こ のフ ォルダーは次の場所にあ り ます。

<Application Data>\DDFBUILDER\TUTORIALS\TUTORIAL2

こ のフ ォルダーは Tutorial2 データベースの一部です。

メ モ こ のチュー ト リ アルのデータにア ク セスするためには、このデータベース を指し示す DSN(データ ソー

ス名)が必要です。まだ DSN を作成し ていない場合は、「データ ソース名(DSN)の作成」を参照し て く ださい。

Btrieve フ ァ イルを開 く

すぐ前のレ ッ ス ンから引き続き作業し ていれば DDF Builder は起動し ているはずです。終了し ていた場合は、DDF Builder を起動し て く ださい。

1 DDF Builder のデータ ソース エ ク スプローラーで、 [データベース] ノード を展開し、 一覧から TUTORIAL2 データベース を見つけます。

2 TUTORIAL2 データベース ア イ コ ンをダブルク リ ッ ク し てその ノ ード を展開し ます。

3 ノ ード を さ らに展開し て OVERLAP.MKD フ ァ イルを探し、 それに関連付け られている SQL テーブルを表示

し ます。

75

Page 86: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

4 overlap SQL テーブル名をダブルク リ ッ クするか、右ク リ ッ ク し て [テーブル定義の編集] を ク リ ッ ク し ます。

テーブル定義エデ ィ ターでは、 次の メ ッ セージが表示されます。

こ の メ ッ セージは、DDF Builder で既存のテーブル定義を分析し た ら、その定義に問題があった と い う こ と を知ら

せています。 この結果、 DDF Builder で既存のテーブル定義を開いて表示する ために、 い く つか修正を行 う 必要が

あ り ま し た。

5 [OK] を ク リ ッ クする と、 この メ ッ セージがク リ ア されテーブル定義が表示されます。

ヒ ン ト 発生する可能性があ る定義エラーの詳細については、 「テーブル定義エラー」 を参照し て く ださい。

不一致を探す

まずは DDF Builder イ ン ターフ ェ イ スで、元の定義と DDF Builder によ る変更後の定義 と の違いを確認し、報告さ

れたエラーについて も再調査し ます。

テーブル定義エデ ィ ターのグ リ ッ ド データ ビ ューでは、既存のテーブル定義に対し て DDF Builder が行った変更

を反映し たテーブル定義が表示されます。

変更ま たは追加さ れたフ ィ ール ド であ る こ と 示す不明ア イ コ ンやその他の視覚的な イ ンジケーターはあ り ませ

ん。

76

Page 87: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 4 - 列の定義の重複

定義エラー ビ ューでは DDF Builder によ って検出および変更された問題を表示し ます。

DDF Builder によ って変更が行われる前の元のテーブル定義は、 元の定義ビ ューでいつでも見る こ と ができ ます。

メ モ DDF Builder が行った変更は自動的に保存されません。 DDF Builder によ る修正は保存する必要があ り

ます。

元の定義と変更後の定義はすぐに比較でき ますが、 初は DDF Builder によ って報告されるエラーを見て く ださ

い。

エラーについて理解する

定義エラー ビ ューでは以下のこ と を通知し ます。

問題が発生し た場所

DDF Builder で検出された問題

DDF Builder で元のテーブル定義に対し て行った変更事項

定義エラー ビ ューでは次の 1 つの問題が挙げられています。 この問題について詳し く 見てみま し ょ う 。

問題が発生し た場所 DDF Builder で検出された問題 必要な対処

列 : firstName DDFBLDR-4:SQL 列がほかの列

にオーバー ラ ッ プ し てい ま す。

列のサイ ズを切 り 詰めま し た。

DDF Builder が指名し た列 (firstName) はほかの列 と 重なって

います。 重複する列をな く し、 テーブル定義 と Btrieve フ ァ イ

ルが同じ レ コー ド長にな る よ う にする ために、 DDF Builder は

列のサイ ズを短 く し ま し た。

DDF Builder によ って報告されたエラーは列定義の重複です、 これは、テーブル定義に同じバイ ト を共有する 2 つ

の列の定義が含まれている こ と を意味し ます。

DDF Builder では、 firstName 列が次の列と重な ら ないよ う にする ために、 こ の列のサイ ズを自動的に削減し ます。

これで列の長さ が一致し、 複数の列にわたって定義されているバイ ト がな く な り ます。

グ リ ッ ド データ ビ ューと元の定義を見比べる と、 重複し ている列を確認する こ と ができ ます。

77

Page 88: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

変更後の定義で firstName フ ィ ール ド のサイ ズが 20 であ るのに対し、元の定義ではサイ ズが 30 になっている こ と

に注目し て く ださい。 元の定義では、 [プレ ビ ュー] 列にフ ァース ト ネームの "Joe" と ラ ス ト ネームの "Smith" の

両方が表示されています。 変更後の定義ではこ のフ ィ ール ド のサイ ズが小さ く な り 、 [プレ ビ ュー] 列にはフ ァー

ス ト ネームのみが適切に表示されています。

変更を受け入れるまたは拒否する

元の定義と DDF Builder によ って変更された定義を比較し、 それに加えてデータがどのよ う に書式設定されたか

を検証する こ と は、 DDF Builder によ って行われた変更を受け付けるかど う かを判断するのに役立ちます。

DDF Builder が行った変更の結果、データが期待どお り の書式で表示され、列の長さ も一致する こ と が確認でき ま

す。

両フ ァ イルの違いを調べ、 DDF Builder によ る変更を理解し、 データが適切に表示されている こ と を検証でき た

ら、 いつでも その変更を受け入れる こ と ができ ます。

テーブル定義を保存する

テーブル定義の変更を行ったのが、 ユーザーであろ う と DDF Builder であろ う と、 その変更を有効にする ために

はそれを保存する必要があ り ます。 テーブル定義を保存する前に、 も う 一度テーブル定義と [プレ ビ ュー] タブ

を見て、 すべてのフ ィ ール ド が定義済みで各バイ ト が明確にされている こ と を確認する と良いでし ょ う 。

メ モ テーブル定義で Btrieve 型が "Unknown" (不明) であった り 、 明確に割 り 当て られていないバイ ト が含

まれている フ ィ ール ド があ る と、 そのテーブル定義は保存する こ と ができ ません。

すべての Btrieve 型が定義済みで、 レ コード内のすべてのバイ ト が明確に割 り 当て られている こ と がわか り ます。

これでテーブル定義を保存でき ます。

1 メ ニューから、 [フ ァ イル|保管] を選択する と テーブル定義が保存されます。

78

Page 89: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 4 - 列の定義の重複

これで、 列定義の重複を修正するために DDF Builder が変更し たテーブル定義は、 現在の定義と し て保存でき ま

し た。

終わり に

こ のレ ッ ス ンでは、列定義の重複が DDF Builder でどのよ う に処理されるか、また列の重複を解決するために DDF Builder が実施する変更についてご紹介し ま し た。DDF Builder によ って変更された定義 と元の定義を比較し て、そ

の変更を受け入れるか、 あ るいは拒否するかを判断する方法も示し ま し た。

79

Page 90: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

レ ッ スン 5 - フ ァ イル / フ ィ ールド フ ラグの不一致

シナ リ オ

こ のレ ッ ス ンでは、 テーブル定義で設定されている SQL 列フ ラ グ と 一致し ないフ ラ グ設定のフ ィ ール ド を持つ

Btrieve フ ァ イルがあ り ます。

目的

こ のレ ッ ス ンの目的は、 DDF Builder でフ ァ イルを開き、 DDF Builder によ って こ の定義になんらかの変更が行わ

れるかど う かを確認する こ と です。DDF Builder が実施する変更を調べ、 フ ラ グの不一致を修正するために必要な

変更があればその変更について検討し ます。

必要な知識

こ のレ ッ ス ンでは FLAGS.MKD と い う フ ァ イルを使用し ます。 こ のフ ァ イルは Tutorial2 フ ォルダー内にあ り ま

す。 デフ ォル ト のイ ン ス ト ール先にイ ン ス ト ールし ている場合、 こ のフ ォルダーは次の場所にあ り ます。

<Application Data>\DDFBUILDER\TUTORIALS\TUTORIAL2

こ のフ ォルダーは Tutorial2 データベースの一部です。

メ モ こ のチュー ト リ アルのデータにア ク セスするためには、このデータベース を指し示す DSN(データ ソー

ス名)が必要です。まだ DSN を作成し ていない場合は、「データ ソース名(DSN)の作成」を参照し て く ださい。

Btrieve フ ァ イルを開 く

すぐ前のレ ッ ス ンから引き続き作業し ていれば DDF Builder は起動し ているはずです。終了し ていた場合は、DDF Builder を起動し て く ださい。

1 DDF Builder のデータ ソース エ ク スプローラーで、 [データベース] ノード を展開し、 一覧から TUTORIAL2 データベース を見つけます。

2 TUTORIAL2 データベース ア イ コ ンをダブルク リ ッ ク し てその ノ ード を展開し ます。

3 ノ ード を さ らに展開し て FLAGS.MKD フ ァ イルを探し、 それに関連付け られている SQL テーブルを表示し

ます。

80

Page 91: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 5 - フ ァ イル / フ ィ ールド フ ラグの不一致

4 flags SQL テーブル名をダブルク リ ッ クするか、 右ク リ ッ ク し て [テーブル定義の編集] を ク リ ッ ク し ます。

テーブル定義エデ ィ ターでは、 次の メ ッ セージが表示されます。

こ の メ ッ セージは、DDF Builder で既存のテーブル定義を分析し た ら、その定義に問題があった と い う こ と を知ら

せています。 この結果、 DDF Builder で既存のテーブル定義を開いて表示する ために、 い く つか修正を行 う 必要が

あ り ま し た。

5 [OK] を ク リ ッ クする と、 この メ ッ セージがク リ ア されテーブル定義が表示されます。

ヒ ン ト 発生する可能性があ る定義エラーの詳細については、 「テーブル定義エラー」 を参照し て く ださい。

不一致を探す

まずは DDF Builder イ ン ターフ ェ イ スで処理対象の不一致を確認し ます。 初に、 グ リ ッ ド データ ビ ューと定義

エラー ビ ューを見て く ださい。

テーブル定義エデ ィ ターのグ リ ッ ド データ ビ ューでは、既存のテーブル定義に対し て DDF Builder が行った変更

を反映し たテーブル定義が表示されています。

81

Page 92: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

メ モ DDF Builder が行った変更は自動的に保存されません。 DDF Builder によ る修正は保存する必要があ り

ます。

こ のレ ッ ス ンの場合、DDF Builder は注目すべき列について視覚的な イ ンジケーターを何も示し ません。 フ ィ ール

ド が変更されている こ と を示す不明な列イ ンジケーターはあ り ません。

ヒ ン ト グ リ ッ ド データ ビ ューにおける属性の詳細については、 「グ リ ッ ド データ ビ ューでのフ ィ ール ド属

性」 を参照し て く ださい。

定義エラー ビ ューでは DDF Builder によ って検出および変更された問題を表示し ます。

こ こ で、 元のテーブル定義を見てみま し ょ う 。 DDF Builder によ って変更が行われる前の元のテーブル定義は、 元

の定義ビ ューで見る こ と ができ ます。

テーブル定義の不一致の詳しい説明に進む前に、DDF Builder によ って報告された定義エラーを理解し ておいて く

ださい。

エラーについて理解する

定義エラー ビ ューでは以下のこ と を通知し ます。

問題が発生し た場所

DDF Builder で検出された問題

DDF Builder で元のテーブル定義に対し て行った変更事項

定義エラーでは次の 1 つの問題を挙げています。

問題が発生し た場所 DDF Builder で検出された問題 必要な対処

列 : lastName DDFBLDR-9 : SQL 列の大小文字無視フ ラ グが

Btrieve セグ メ ン ト の大小文字無視フ ラ グ と 一

致し ていません。 列の大小文字無視フ ラ グが変

更されます。

エラー対象のフ ィ ール ド に大小文字無視フ ラ グ

を設定するかど う かを検証し、DDF Builder によ

る変更を受け入れるか、 または拒否する必要が

あ り ます。

こ のエラーは、 SQL 列に対し て大小文字無視フ ラ グが設定されているが、 対応する Btreive セグ メ ン ト にはこ の

フ ラ グが設定されていないこ と を示し ています。 DDF Builder は Btrieve フ ァ イルを変更し ないので、 SQL テーブ

82

Page 93: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 5 - フ ァ イル / フ ィ ールド フ ラグの不一致

ルは Btrieve フ ァ イルの仕様に一致する よ う 変更されます。 こ の状況を確かめるには、現在のテーブル定義を元の

定義と比較し ます。

定義エラーでは lastName 列の大小文字無視の設定に問題があ る こ と を示し ています。現在のテーブル定義と元の

テーブル定義の lastName フ ィ ール ド を比較する と、 この違いがすぐにわか り ます。

こ の比較によ って、 以下のこ と が判断でき ます。

元の定義では、 lastName フ ィ ール ド に対し て大小文字無視フ ラ グが設定されていませんで し た。

現在の (DDF Builder によ って更新された) 定義では、 lastName フ ィ ール ド に対し て大小文字無視フ ラ グが

設定されています。

DDF Builder は Btrieve フ ァ イルに基づいて変更を行います。DDF Builder では Btrieve フ ァ イルを変更でき ません。

変更でき るのは Btrieve フ ァ イルの構造を決定する テーブル定義のみであ る こ と を覚えておいて く ださ い。そのよ

う な訳で、 DDF Builder は (大小文字無視フ ラ グのない) 元の定義を変更し て、 lastName フ ィ ール ド で大小文字

無視フ ラ グを利用でき る よ う にし ま し た。

メ モ lastName フ ィ ール ド はイ ンデッ ク ス と し て使用されます。 こ のため、 lastName フ ィ ール ド の大小文字

無視フ ラ グの設定を ク リ アする こ と はでき ません。

変更を受け入れるまたは拒否する

定義エラーの原因を究明し、 DDF Builder が行った変更について理解し ま し た。 こ こ で、 DDF Builder がテーブル

定義に対し て行った変更を受け入れるか、 または拒否する必要があ り ます。

DDF Builder が行った変更が正し く なければ、 その変更を拒否し て 初か ら テーブル定義を作成し直し て く だ さ

い。 これは、 イ ンデッ ク ス と し て指定されている フ ィ ール ド の大小文字無視の設定は変更できないためです。

ただし、 こ のレ ッ ス ンの目的は DDF Builder が行った変更を受け入れる こ と です。 lastName フ ィ ール ド には大小

文字無視フ ラ グを設定し ます。

テーブル定義を保存する

テーブル定義エラーと変更について確認でき た ら、 こ の作業を保存し て変更を有効にし て く ださい。 作業を保存

する前に、 も う 一度テーブル定義を見直し て く ださい。 データ グ リ ッ ド ビ ューは次のよ う にな り ます。

83

Page 94: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

Btrieve 型がすべて定義されている こ と、 未定義のフ ィ ール ド が残っていないこ と、 またすべてのバイ ト が明確に

割 り 当て られている こ と が一目でわか り ます。 これでテーブル定義を保存でき ます。

1 メ ニューから、 [フ ァ イル|保管] を選択する と テーブル定義が保存されます。

更新されたテーブル定義が保存され、 lastName フ ィ ール ド に対し て大小文字無視フ ラ グを設定でき ま し た。

終わり に

こ のレ ッ ス ンでは、 Btrieve フ ァ イル と既存のテーブル定義でフ ラ グ設定が異な る場合に DDF Builder でどのよ う

に処理さ れるかを ご紹介し ま し た。 DDF Builder によ って行われた変更を、 グ リ ッ ド データ ビ ュー と 元の定義

ビ ューを使用し て比較で き る こ と も 示し ま し た。 ま た、 DDF Builder では イ ンデ ッ ク ス と し て設定 さ れてい る

フ ィ ール ド に対する変更が行えないこ と も示し ま し た。DDF Builder によ って行われた変更を拒否する、 または受

け入れる ための方針について も説明し ま し た。

84

Page 95: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 6 - イ ンデッ クスの不一致

レ ッ スン 6 - イ ンデ ッ クスの不一致

シナ リ オ

こ のレ ッ ス ンでは、テーブル定義のイ ンデッ ク ス設定と一致し ないイ ンデッ ク ス設定を持つ Btrieve フ ァ イルがあ

り ます。

目的

こ のレ ッ ス ンの目的は、 DDF Builder でフ ァ イルを開き、 DDF Builder によ って こ の定義になんらかの変更が行わ

れるかど う かを確認する こ と です。DDF Builder が実施する変更を調べ、 イ ンデッ ク スの不一致を修正するために

必要な変更について検討し ます。

ヒ ン ト DDF Builder はイ ンデッ ク スの不一致を修正するための解決法を提示し、 それらの変更を保存でき る

よ う にし ます。

必要な知識

こ のレ ッ ス ンでは、 INDEX_INC.MKD と い う フ ァ イルを使用し ます。 このフ ァ イルは Tutorial2 フ ォルダー内にあ

り ます。 デフ ォル ト のイ ン ス ト ール先にイ ン ス ト ールし ている場合、 こ のフ ォルダーは次の場所にあ り ます。

<Application Data>\DDFBUILDER\TUTORIALS\TUTORIAL2

こ のフ ォルダーは Tutorial2 データベースの一部です。

メ モ こ のチュー ト リ アルのデータにア ク セスするためには、このデータベース を指し示す DSN(データ ソー

ス名)が必要です。まだ DSN を作成し ていない場合は、「データ ソース名(DSN)の作成」を参照し て く ださい。

Btrieve フ ァ イルを開 く

すぐ前のレ ッ ス ンから引き続き作業し ていれば DDF Builder は起動し ているはずです。終了し ていた場合は、DDF Builder を起動し て く ださい。

1 DDF Builder のデータ ソース エ ク スプローラーで、 [データベース] ノード を展開し、 一覧から TUTORIAL2 データベース を見つけます。

2 TUTORIAL2 データベース ア イ コ ンをダブルク リ ッ ク し てその ノ ード を展開し ます。

3 ノ ード を さ らに展開し て INDEX_INC.MKD フ ァ イルを探し、 それに関連付け られている SQL テーブルを表

示し ます。

85

Page 96: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

4 index_inc SQL テーブル名をダブルク リ ッ クするか、 右ク リ ッ ク し て [テーブル定義の編集] を ク リ ッ ク し ま

す。

テーブル定義エデ ィ ターでは、 次の メ ッ セージが表示されます。

こ の メ ッ セージは、DDF Builder で既存のテーブル定義を分析し た ら、その定義に問題があった と い う こ と を知ら

せています。 この結果、 DDF Builder で既存のテーブル定義を開いて表示する ために、 い く つか修正を行 う 必要が

あ り ま し た。

5 [OK] を ク リ ッ クする と、 この メ ッ セージがク リ ア されテーブル定義が表示されます。

ヒ ン ト 発生する可能性があ る定義エラーの詳細については、 「テーブル定義エラー」 を参照し て く ださい。

不一致を探す

まずは DDF Builder イ ン ターフ ェ イ スで検出された不一致を確認し ます。 これは、 グ リ ッ ド データ ビ ューと元の

定義を比較すればすぐにわか り ます。

86

Page 97: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 6 - イ ンデッ クスの不一致

こ のレ ッ ス ンの場合、DDF Builder は注目すべき列について視覚的な イ ンジケーターを何も示し ません。 フ ィ ール

ド が変更されている こ と を示す不明な列イ ンジケーターはあ り ません。

大変興味深いこ と に、 これらの 2 つのテーブル定義を比較し て も違いが見つか り ません。DDF Builder では変更を

行っていますが、DDF Builder が修正し た問題はイ ンデッ ク スに関する ものなので、テーブル定義上に表れません。

イ ンデッ ク ス情報について よ り 詳し く 見る前に、 定義エラー ビ ューに挙げられている問題を調査し ま し ょ う 。 定

義エラー ビ ューでは DDF Builder によ って検出および変更された問題を表示し ます。

メ モ DDF Builder が行った変更は自動的に保存されません。 DDF Builder によ る修正は保存する必要があ り

ます。

エラーについて理解する

定義エラー ビ ューでは以下のこ と を通知し ます。

問題が発生し た場所

DDF Builder で検出された問題

DDF Builder で元のテーブル定義に対し て行った変更事項

ヒ ン ト DDF Builder では Btrieve フ ァ イルを変更でき ません。 変更は Btrieve フ ァ イルではな く テーブル定義

に対し て行われます。

87

Page 98: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

定義エラーでは次の 2 つの問題を挙げています。

問題が発生し た場所 DDF Builder で検出された問題 必要な対処

イ ンデッ ク ス : indx_id DDFBLDR-1: この SQL イ ンデッ ク ス

に対応す る Btrieve キーが あ り ま せ

ん。 イ ンデッ ク ス を無視し ま し た。

テーブル定義で見つかった SQL イ ンデッ ク スに対応する

キーが Btrieve フ ァ イルに存在し ません。 その結果、 DDF Builder ではこ のイ ンデッ ク スが無視される ため、 実行で

き る操作は DDF Builder によ る変更の確認のみです。

イ ン デ ッ ク ス : イ ン

デッ ク ス 0DDFBLDR-2: この Btrieve キーに対応

する SQL イ ンデッ ク スが見つか り ま

せん。 イ ンデッ ク ス を追加し ま し た。

Btrieve フ ァ イルにキーがあ る ため、 それに対応する イ ン

デ ッ ク スが DDF Builder に よ っ てテーブル定義に追加 さ

れま し た。テーブル定義のイ ンデッ ク ス を検証し て、DDFBuilder が行った変更を受け入れる必要があ り ます。

1 番目のエラーは、 Btrieve フ ァ イルに存在し ないイ ンデッ ク スが既存のテーブル定義に含まれている こ と を示し

ます。 DDF Builder はテーブル定義を変更するだけで Btrieve フ ァ イル自体を変更する こ と はできないため、 この

イ ンデッ ク スは無視されます。 これは、 存在し ないイ ンデッ ク ス を使用し ないよ う にするためにも知ってお く こ

と が重要です。

2 番目のエラーはこ の逆の状況です。 既存のテーブル定義に、 Btrieve フ ァ イルで定義されている イ ンデッ ク スが

あ り ません。 DDF Builder は Btrieve フ ァ イルのイ ンデッ ク ス を表すために、 これまで定義されていなかった SQL イ ンデッ ク ス を追加し ます。

DDF Builder が作成し た イ ンデッ ク スに名前を割 り 当て、そのテーブル定義のイ ンデッ ク スに対する変更を受け入

れます。

メ モ DDF Builder によ って作成された イ ンデッ ク スがあ り 、 それがも う 必要でない場合は、 フ ァ イルおよび

テーブル定義から そのイ ンデッ ク ス を削除する こ と ができ ます。同様に、DDF Builder がテーブル定義を変更

し た と きに、 これまで定義されていなかった イ ンデッ ク ス を追加する必要があ る こ と に気付 く こ と ができ ま

す。 どち ら の場合で も、 『Pervasive PSQL Programmer's Guide』 でイ ンデッ ク スの追加 と 削除に関する説明を

参照し て く ださい。

イ ンデッ クスに名前を付ける

1 テーブル定義エデ ィ ターで [イ ンデ ッ クス] タブを選択し ます。

2 [イ ンデッ ク ス] 列の " イ ンデッ ク ス 0" エン ト リ をダブルク リ ッ ク し ます。

3 イ ンデッ ク スの名前と し て 「index_lname」 と入力し ます。

メ モ Btrieve フ ァ イルに定義された イ ンデッ ク ス を見るには、 [統計情報] タブを ク リ ッ ク し ます。

88

Page 99: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 6 - イ ンデッ クスの不一致

テーブル定義を保存する

DDF Builder によ ってテーブル定義に追加された イ ンデッ ク ス を検証し たので、こ の作業を保存し て変更を有効に

し て く ださい。 作業を保存する前に、 も う 一度テーブル定義を見直し て く ださ い。

Btrieve 型はすべて定義され、 不明なフ ィ ール ド も無 く 、 またすべてのバイ ト が明確に割 り 当て られています。 こ

れでテーブル定義を保存でき ます。

1 メ ニューから、 [フ ァ イル|保管] を選択する と テーブル定義が保存されます。

終わり に

おめで と う ございます。 これでテーブル定義の保存が成功し ま し た。 こ のレ ッ ス ンでは、 DDF Builder が認識し た

イ ンデッ ク スの不一致についてご紹介し ま し た。 また、DDF Builder が行った変更と更新されたテーブル定義の保

存方法について も説明し ま し た。

89

Page 100: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

レ ッ スン 7 - 可変長レ コー ドの不一致

シナ リ オ

こ のレ ッ ス ンでは、テーブル定義で設定されている可変長レ コード と は異な る可変長レ コード を持つ Btrieve フ ァ

イルがあ り ます。

目的

こ のレ ッ ス ンの目的は、 DDF Builder でフ ァ イルを開き、 DDF Builder によ って こ の定義になんらかの変更が行わ

れるかど う かを確認する こ と です。DDF Builder が実施する変更を調べ、可変長レ コード の不一致を修正するため

に必要と なる変更について検討し ます。

メ モ 現在、 DDF Builder は可変長レ コード の不一致を修正するための解決策を提示し ていません。

必要な知識

こ のレ ッ ス ンでは VARTABLE.MKD と い う フ ァ イルを使用し ます。 こ のフ ァ イルは Tutorial2 フ ォルダー内にあ

り ます。 デフ ォル ト のイ ン ス ト ール先にイ ン ス ト ールし ている場合、 こ のフ ォルダーは次の場所にあ り ます。

<Application Data>\DDFBUILDER\TUTORIALS\TUTORIAL2

こ のフ ォルダーは Tutorial2 データベースの一部です。

メ モ こ のチュー ト リ アルのデータにア ク セスするためには、このデータベース を指し示す DSN(データ ソー

ス名)が必要です。まだ DSN を作成し ていない場合は、「データ ソース名(DSN)の作成」を参照し て く ださい。

Btrieve フ ァ イルを開 く

すぐ前のレ ッ ス ンから引き続き作業し ていれば DDF Builder は起動し ているはずです。終了し ていた場合は、DDF Builder を起動し て く ださい。

1 DDF Builder のデータ ソース エ ク スプローラーで、 [データベース] ノード を展開し、 一覧から TUTORIAL2 データベース を見つけます。

2 TUTORIAL2 データベース ア イ コ ンをダブルク リ ッ ク し てその ノ ード を展開し ます。

3 ノ ード を さ らに展開し て VARTABLE.MKD フ ァ イルを探し、 それに関連付け られている SQL テーブルを表

示し ます。

90

Page 101: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 7 - 可変長レ コー ドの不一致

4 varTable SQL テーブル名をダブルク リ ッ クするか、右ク リ ッ ク し て[テーブル定義の編集]を ク リ ッ ク し ます。

テーブル定義エデ ィ ターでは、 次の メ ッ セージが表示されます。

こ の メ ッ セージは、DDF Builder で既存のテーブル定義を分析し た ら、その定義に問題があった と い う こ と を知ら

せています。 この結果、 DDF Builder で既存のテーブル定義を開いて表示する ために、 い く つか修正を行 う 必要が

あ り ま し た。

5 [OK] を ク リ ッ クする と、 この メ ッ セージがク リ ア されテーブル定義が表示されます。

ヒ ン ト 発生する可能性があ る定義エラーの詳細については、 「テーブル定義エラー」 を参照し て く ださい。

不一致を探す

まずは DDF Builder イ ン ターフ ェ イ スで、元の定義と DDF Builder によ る変更後の定義 と の違いを確認し、報告さ

れたエラーについて も再調査し ます。

テーブル定義エデ ィ ターのグ リ ッ ド データ ビ ューでは、 変更済みのテーブル定義が示されます。

91

Page 102: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

メ モ DDF Builder が行った変更は自動的に保存されません。 DDF Builder によ る修正は保存する必要があ り

ます。

DDF Builder では、変更または追加されたフ ィ ール ド に対し て不明な列イ ンジケーターを追加し、注目すべき列で

あ る こ と を視覚的に示し ます。 また、 可変長列イ ンジケーターが可変長の列に追加されます。

ヒ ン ト グ リ ッ ド データ ビ ューにおける属性の詳細については、 「グ リ ッ ド データ ビ ューでのフ ィ ール ド属

性」 を参照し て く ださい。

定義エラー ビ ューでは DDF Builder によ って検出および変更された問題を表示し ます。

DDF Builder によ って変更が行われる前の元のテーブル定義は、 元の定義ビ ューで見る こ と ができ ます。

エラーについて理解する

定義エラー ビ ューでは以下のこ と を通知し ます。

問題が発生し た場所

DDF Builder で検出された問題

DDF Builder で元のテーブル定義に対し て行った変更事項

定義エラーでは次の 2 つの問題を挙げています。

問題が発生し た場所 DDF Builder で検出された

問題

必要な対処

列 : Name DDFBLDR-12 : 可変長列に

でき るのはテーブル内の

後の列だけです。 列の型を

"Unknown" に変更 し ま し

た。

既存の SQL テーブル定義にはレ コード の途中に NOTE または

LVAR データ型があ り ます。 DDF Builder では、 可変長列はレ

コード内の 後に配置する必要があ る と 判断し、 こ のデータ型

を "Unknown" (不明) に変更し ます。DDF Builder が "Unknown" (不明) に変更し た列を定義する必要があ り ます。

イ ンデッ ク ス : UK_ID DDFBLDR-1 : こ の SQL イ

ン デ ッ ク ス に 対 応 す る

Btrieve キーがあ り ません。

イ ンデッ ク ス を無視し ま し

た。

テーブル定義で見つかった SQL イ ンデッ ク スに対応する キー

が Btrieve フ ァ イルに存在し ません。 その結果、 DDF Builder で

はこ のイ ンデッ ク スが無視される ため、実行でき る操作は DDF Builder によ る変更の確認のみです。

92

Page 103: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 7 - 可変長レ コー ドの不一致

DDFBLDR-12 エラーは、 テーブル定義の 後の列ではない可変長フ ィ ール ド が原因で発生し ています。 このフ ァ

イルにはレ コード の 後の列以外の位置に可変長フ ィ ール ド があ るため、DDF Builder ではこ のフ ィ ール ド のデー

タ型を "Unknown" (不明) に変更し ます。

ヒ ン ト 「レ ッ ス ン 3 - 不正なデータ型 と サイ ズ」 では、 列のデータ型がその列のサイ ズに対し て不正だっ

た場合の具体的な対処手順を提供し ています。

可変長フ ィ ール ド の問題を修正するには、不明なフ ィ ール ド を適切なデータ型で定義し ます。これは次のセ ク シ ョ

ンで説明し ます。

後に報告されたエラーは、 DDF Builder が既存のテーブル定義でイ ンデッ ク ス を検出し たが、 それに対応する

キーが Btrieve フ ァ イルにはない と い う 事象です。 こ のレ ッ ス ンの過程で、 こ のエ ラーは解決されません。 解決さ

れるのは可変長フ ィ ール ド についてだけです。 イ ンデッ ク スに関するエラーを解決する ためには、「レ ッ ス ン 6 -

イ ンデッ ク スの不一致」 を参照し て く ださい。

不明なフ ィ ールド を定義する

テーブル定義エデ ィ ターのグ リ ッ ド データ ビ ューで、 不明なフ ィ ール ド を定義し ます。

1 Name フ ィ ール ド を ク リ ッ ク し て選択し ます。

2 [Btrieve 型] ド ロ ッ プダウ ン リ ス ト から "String" を選択し ます。

メ モ テーブル定義に BLOB または CLOB データ型が含まれている場合、 テーブルの可変長部分にあ る列を

編集する こ と はお勧めし ません。

テーブル定義を保存する

不明なフ ィ ール ド を定義し、 すべての問題を修正し た ら、 テーブル定義を保存でき ます。

作業を保存する前に、 も う 一度テーブル定義を見直し て く ださ い。

テーブル定義に未定義のフ ィ ール ド がな く 、 すべてのバイ ト が明確に割 り 当て られています。 これでテーブル定

義を保存でき ます。

1 メ ニューから、 [フ ァ イル|保管] を選択する と テーブル定義が保存されます。

93

Page 104: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

終わり に

おめで と う ございます。 テーブル定義が保存され、 可変長フ ィ ール ド の修正に成功し ま し た。 このレ ッ ス ンでは、

レ コード の 後にない可変長フ ィ ール ド を DDF Builder でどのよ う に処理するかをご紹介し ま し た。また、フ ィ ー

ル ド を定義する方法と、 フ ァ イルに対し て有効なテーブル定義を作成する方法について も説明し ま し た。

94

Page 105: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 8 - レ コー ド長の不一致

レ ッ スン 8 - レ コー ド長の不一致

シナ リ オ

こ のレ ッ ス ンでは、テーブル定義で設定されている レ コード長と は異な る レ コード長を持つ Btrieve フ ァ イルがあ

り ます。

目的

こ のレ ッ ス ンの目的は、 DDF Builder でフ ァ イルを開き、 DDF Builder によ って こ の定義になんらかの変更が行わ

れるかど う かを確認する こ と です。DDF Builder が実施する変更を調べ、 レ コード長の不一致を修正するために必

要な変更について検討し ます。

ヒ ン ト DDF Builder はレ コード長の不一致を修正するための解決策を提示し、 それらの変更を保存でき る よ

う にし ます。

必要な知識

こ のレ ッ ス ンでは rec_length.MKD と い う フ ァ イルを使用し ます。 こ のフ ァ イルは Tutorial2 フ ォルダー内にあ り

ます。 デフ ォル ト のイ ン ス ト ール先にイ ン ス ト ールし ている場合、 こ のフ ォルダーは次の場所にあ り ます。

<Application Data>\DDFBUILDER\TUTORIALS\TUTORIAL2

こ のフ ォルダーは Tutorial2 データベースの一部です。

メ モ こ のチュー ト リ アルのデータにア ク セスするためには、このデータベース を指し示す DSN(データ ソー

ス名)が必要です。まだ DSN を作成し ていない場合は、「データ ソース名(DSN)の作成」を参照し て く ださい。

Btrieve フ ァ イルを開 く

すぐ前のレ ッ ス ンから引き続き作業し ていれば DDF Builder は起動し ているはずです。終了し ていた場合は、DDF Builder を起動し て く ださい。

1 DDF Builder のデータ ソース エ ク スプローラーで、 [データベース] ノード を展開し、 一覧から TUTORIAL2 データベース を見つけます。

2 TUTORIAL2 データベース ア イ コ ンをダブルク リ ッ ク し てその ノ ード を展開し ます。

3 ノ ード を さ らに展開し て REC_LENGTH.MKD フ ァ イルを探し、 それに関連付け られている SQL テーブルを

表示し ます。

95

Page 106: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

4 rec_length SQL テーブル名をダブルク リ ッ クするか、 右ク リ ッ ク し て [テーブル定義の編集] を ク リ ッ ク し

ます。

テーブル定義エデ ィ ターでは、 次の メ ッ セージが表示されます。

こ の メ ッ セージは、DDF Builder で既存のテーブル定義を分析し た ら、その定義に問題があった と い う こ と を知ら

せています。 この結果、 DDF Builder で既存のテーブル定義を開いて表示する ために、 い く つか修正を行 う 必要が

あ り ま し た。

5 [OK] を ク リ ッ クする と、 この メ ッ セージがク リ ア されテーブル定義が表示されます。

ヒ ン ト 発生する可能性があ る定義エラーの詳細については、 「テーブル定義エラー」 を参照し て く ださい。

不一致を探す

まずは DDF Builder イ ン ターフ ェ イ スで、元の定義と DDF Builder によ る変更後の定義 と の違いを確認し、報告さ

れたエラーについて も再調査し ます。

テーブル定義エデ ィ ターのグ リ ッ ド データ ビ ューでは、 変更済みのテーブル定義が示されます。

96

Page 107: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 8 - レ コー ド長の不一致

メ モ 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 は新しい列を不明なデータ型と し て作成し ま し た。

97

Page 108: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

すべてのバイ ト を定義し て明確に割 り 当て、 Btrieve フ ァ イル と 正確に一致する テーブル定義を作成し ます。 グ

リ ッ ド データ ビ ューの下部にあ る " フ ィ ール ド 6" の行を見て く ださい。

レ コード長が Btrieve フ ァ イル と テーブル定義で一致する よ う 、 不明なフ ィ ール ド を定義する こ と ができ ます。

フ ィ ールド を定義する

次に、 テーブル定義エデ ィ ターのグ リ ッ ド データ ビ ューで、 不明のフ ィ ール ド を定義し ます。

1 グ リ ッ ド データ ビ ューで 後の行を ク リ ッ ク し て選択し ます。

2 " フ ィ ール ド 6" フ ィ ール ド を選択し、 フ ィ ール ド 名と し て 「City」 と入力し ます。

3 [ヌル] チェ ッ ク ボ ッ ク スのチェ ッ ク をオンにし ます。

4 [サイズ] で値を 50 バイ ト に変更し て く ださい。

5 [Btrieve 型] 列の ド ロ ッ プダウ ン リ ス ト から "String" を選択し ます。

6 [大小文字無視] チェ ッ ク ボ ッ ク ス をオンにし ます。

テーブル定義は次のよ う にな り ます。

7 グ リ ッ ド データ ビ ューで " フ ィ ール ド 7" 行を ク リ ッ ク し て選択し ます。

8 " フ ィ ール ド 7" フ ィ ール ド を選択し、 フ ィ ール ド 名と し て 「Income」 と入力し ます。

9 [Btrieve 型] 列の ド ロ ッ プダウ ン リ ス ト から "Money" を選択し ます。

10 [桁数] の値は 10 に、 [小数位] の値は 2 にし ます。

テーブル定義は次のよ う にな り ます。

これで不明なフ ィ ール ド はすべて定義され、 すべてのバイ ト は明確に割 り 当て られたので、 テーブル定義を保存

し ます。

98

Page 109: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

レ ッ スン 8 - レ コー ド長の不一致

定義を保存する

行った変更を保存し て適用でき る よ う テーブル定義を保存し ます。

1 メ ニューから、 [フ ァ イル|保管] を選択する と テーブル定義が保存されます。

終わり に

おめで と う ございます。 テーブル定義が保存され、 レ コード長の不一致が適切に修正されま し た。 このレ ッ ス ン

では、 レ コード長が異なる場合に DDF Builder でどのよ う に処理されるかをご紹介し ま し た。 また、 フ ィ ール ド

を定義する方法や、 サイ ズを変更し て列を分割し た り 、 フ ァ イルに対し て有効なテーブル定義を作成する方法に

ついて も説明し ま し た。

99

Page 110: DDF Builder Users Guide...viii このマニュアルの読者 このマニュアルは、DDF Builder を使用するユーザーを対象としています。このマニュアルで説明している手順を

DDF Builder チュー ト リ アル

100