InterBaseイン・アクション
キムラデービー(http://kimuradb.com)
代表 木村明治(KIMURA, Meiji)
電子メール: Info@kimuradb.com

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

第３回 ボーランド デベロッパー キャンプ

木村明治とInterBase/Firebirdの関係
 [2001]サラリーマン本業と並行しInterBase/Firebird関連ドキュメント翻訳・公開を開始。
 http://www.geocities.jp/kimura804/rdb/
 チェコ人イワンさんのIvan Prenosil's Firebird/InterBase site
 チリ人クラウディオさんのWelcome to the Interbase unofficial site.
 メキシコ人ジョージさんのInterbase and IBX F.A.Q. and Tutorials
 [2005]
 7月キムラデービー開業。 「DBを使った開発において、心理的・物理的負担を下げる」を合い言葉に、自営で活動。
 11月 第３回Firebird Worldwide Conference＠チェコ共和国に参加。
 [2006]2006年度Firebird日本ユーザー会理事長
 7月 第３回Firebird DeveloperDay＠ブラジルに参加。
 11月 オープンソースデータベースカンファレンス＠ドイツに参加。
 11月 第４回Firebird Worldwide Conference＠チェコ共和国に参加。

2
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

1

第３回 ボーランド デベロッパー キャンプ

InterBaseとサードパーティユティリティ・ツール
 日本ではあまり紹介される機会はなかったが、InterBase用サードパーティユティリティ・ツールはInterBaseと共に歩んできた。
 例えば….
 接続用ミドルウェアIBObjectsがJason Wharton により開発されたのは、InterBase 4.2が発売されていたころ。
 接続用ミドルウエアFIBPlusがSerge Buzadzhy により開発されたのは、InterBase 5.5が発売されていたころ。
 代表的なGUIであるIBExpertは既にInterBase 2007に対応している。

 主要なサードパーティユティリティ・ツールは、InterBase/Firebird対応として、開発が継続されている。

3
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

第３回 ボーランド デベロッパー キャンプ

世界中でInterBaseとそのバリエーションが稼働中
 Delphiと共にInterBase
 Delphi Version.1にInterBase4.0
 Delphi Version.4にInterBase5.1.1
 Delphi Version.6にInterBase5.5
 Delphi 2005/2006にInterBase7.xまで。

 InterBase 6.0 Open Editionを基に
 Firebirdの開発がスタート。
 これまでに1.0, 1.5, 2.0がリリースされる。

 Firebird 1.0を基にロシア版DB Yaffilがリリースされる。
 Firebird 1.5を基にFyracleがリリースされる。

 これらが、各種データストレージとして実稼働中。
4
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

2

第３回 ボーランド デベロッパー キャンプ

開発後の運用やメンテナンス 膨大な数の実運用InterBaseのために各種サードパーティ製ツール・ユティリティが提供されている。
 特にDelphi/InterBase人気が高い、ロシア、ヨーロッパ、ブラジル等。

 その中から、今回は以下の二点に注目して紹介します。
 Delphi旧アプリメンテナンスのためのミドルウエア乗り換え先案内 〜
BDE, IBXからIBObjects, FIBPlusへ トラブルシューティング〜DB破壊、パフォーマンス問題への対処

5
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

BDE, IBXを使っている旧アプリケーションの移行

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

3第３回 ボーランド デベロッパー キャンプ

データベースアクセス概略
Borlandのデータベースアクセス
 BDE
 IBX
 dbExpress
 BDP

Kylix
DelphiC++Builder

ParadoxdBase
BDE
BDP
対象はBDE, IBXを使用の旧アプリdbExpress

RDBMS(旧)Ｅｎｔ
Ｐｒｏ

各種RDBMSMySQL

IBXInterBase7
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

第３回 ボーランド デベロッパー キャンプ

InterBaseアクセスコンポーネント
 IB Objects(395-dollar = 約４万５千円)


http://www.ibobjects.com/
BDEに似た部分もある独自ミドルウェア。BDEからの変換ガイド(BDEto IBO Conversion Guide)あり。
1996年12月: Jason WhartonがIB_Objects (IBO) 1.0.を発表。
最新版は4.6Bc (2006年7月)

 FIBPlus(235-euro = 約3万4千円)


http://www.devrace.com/en/fibplus/
IBXと同じFreeIB Componentsから派生。
1999年3月: FIBPlusの1.0をSerge Buzadzhyが発表。最新版は6.4.5(2006年7月)
8
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

4第３回 ボーランド デベロッパー キャンプ

BDEからIBOへのコンバート・ガイド
 http://www.ibobjects.com/ibo_help/convertbdetoibo.htm
 なぜIBOにコンバートするのか
 IBOはなにをサポートしないのか
 IBOクラスへのコンバート
 コンバート後に必要なこと
 コンバート後のサジェスチョン
 CSDemosのサンプルコンバージョン
 Mastappサンプルコンバージョン9
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

第３回 ボーランド デベロッパー キャンプ

なぜIBOにコンバートするのか
 BDEはInterBase 6.0以降とFirebirdの重要な新しい機能をサポートしないから。
 IBOはBDEを100%エミュレートするから。
 安定しているから。
 パフォーマンスが高いから。
 トランザクションの取り扱い。
 Filter, Locate, LookupそしてRecordCountをサーバサイドで処理するから。
 さらに続く。全文は以下。
 http://www.ibobjects.com/ibo_help/whyconverttoibo.htm
10
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

5

第３回 ボーランド デベロッパー キャンプ

IBOはなにをサポートしないのか(1) Tsession
 TIB_Session
 TDatabase Directory, Exclusive, Locale, Session, SessionAlias, SessionName,
Temporary と TraceFlagsの直接サポートはない。
 ValidateName
 TBDEDataset
 CacheBlobs, ExpIndex, Handle and Locale types と properties の直接サポートはない。
GetDetailLinkFields, GetProviderAttributesメソッド
 Ttable BatchMove, CloseIndexFile, LockTable, OpenIndexFile,RenameTable とUnlockTableメソッド。
 DefaultIndex, Exclusive, IndexFiles, IndexNames, TableLevel とTableType11
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

第３回 ボーランド デベロッパー キャンプ

IBOはなにをサポートしないのか(2) TQuery Constrained, Local, SQLBinary, StmtHandle と Textは直接サポートはされない。

 TStoredProc
 Overloadと ParamBindMode TBAtchMove
 IBOは直接等価なコンポーネントは持っていない。

 全文は以下。
 http://www.ibobjects.com/ibo_help/whatdoesntibosupport.htm
12
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

6

第３回 ボーランド デベロッパー キャンプ

IBObject メモ＆デモ

13
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

第３回 ボーランド デベロッパー キャンプ

私はIBXからFIBPlusへの切り替えを考えています(1) どうしたらよいですか？
 http://www.devrace.com/en/fibplus/articles/1400.php
 スクリプトファイルGreplaceをダウンロードしてください。
 Greplaceのスクリプトを開くと、あなたのプロジェクトのIBXコンポーネントをFIBPlusの類似のコンポーネントに置き換えます。
 その後に、残りを手動で置き換えますが、それらは簡単です。

14
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

7

第３回 ボーランド デベロッパー キャンプ

私はIBXからFIBPlusへの切り替えを考えています(2) すべてうまくいきます。以下を除いては。
1. TLargeintFieldはTFIBBCDFieldに変更する必要があります。
2. デフォルトの変換ではTIBQuery から TpFIBDataset の変換でSQLpropertyが欠落します。
3. ジェネレータもなくすため、GeneratorField.FieldはAutoUpdateOptions.KeyFieldsへ。GeneratorField.Generatorは 以下へ。
AutoUpdateOptions.GeneratorName
4. そして最後にDatabaseNameはDBNameへ。

15
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

第３回 ボーランド デベロッパー キャンプ

FIBPlus メモ＆デモ

16
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

8

InterBaseトラブルシューティング

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

第３回 ボーランド デベロッパー キャンプ

IBAnalyst
 Firebird/InterBaseの解析ツール。
 データベースを詳細に調べて、統計的に解析し、パフォーマンスやメンテナンス、アプリケーションとの関係での、潜在的な問題を明確にするのに使います。
 各種統計情報をグラフィカルに表示し、各種サジェスチョンを文章(英文)で得ることができます。

18
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

9

第３回 ボーランド デベロッパー キャンプ

データの統計情報 InterBase付属ツールgstatで取得可能。
 IBAnalystは、gstatで取得できる情報から、それをグラフィカルに表示する。
 さらに、独自のKB(Knoledge Base)から、サジェスチョンを与えるもの。

19
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

第３回 ボーランド デベロッパー キャンプ

IBFirestAid DBを直接参照して、問題点を指摘、修正。診断バージョンとフルバージョンがある。
診断バージョン(Diagnostician)は無料。これで、診断できる。
診断結果に基づいて修正する場合には、フルバージョン(Ambulance )が必要。有料。
会社内で使うためのサイトライセンス。診断・修正を仕事とするための、ベンダーライセンスあり。

20
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

10

第３回 ボーランド デベロッパー キャンプ

問題のエスカレーション

gfix
無償ツール

IBFirstAID
IBSurgeonに直接DBを送付

IBFirstAID
Ambulance

21
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

各種ユティリティ・ツールへのアクセス

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

11

第３回 ボーランド デベロッパー キャンプ

各種ユティリティ・ツールへのアクセス

基本的にはすべて英語版となりますが、直接メーカーにアクセス・購入可。
ただ今回紹介したものは主要なもなので、キムラデービーが日本のリセラーとして取り扱い中、もしくは取り扱い予定。
 取扱中: Devrace社FIBPlus(ミドルウエア)
 近日取り扱い開始予定: IBSurgeon(トラブルシューティングツール)
 取り扱い調整中: IBObject(ミドルウェア)
その他、要望がありましたら検討いたしますので、お気軽にご相談ください。

23
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

Thank you

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

12