Feature Matrix

システム要件と他の製品との互換性

・BDEやサードパーティ製のデータベースエンジンは不要です
・Borland InterBase 4.x-7.x, Firebird 1.x-2.x, Yaffil 対応
・GDS32.DLL(FBCLIENT.DLL)だけが必要です
・Borland Delphi 5-7, BDS 2005-2006(Turbo DelphiとTurbo CLL), Borland C++ Builder 5-6 と Borland Kylix 3 で動作します
・標準(TDBGrid, TDBEditなど)、或いはサードパーティ製の(InfoPower, DevExpress, EhLib, IntraWeb, ASTA, etc)のビジュアルデータ操作コンポーネントに対応します
・FastReport, QuickReport, ReportBuilderなどのレポート生成コンポーネントに対応します

コンポーネントとツール

・13種類の非ビジュアル汎用コンポーネント: TpFIBDatabase, TpFIBTransaction, TpFIBDataSet, TpFIBQuery, TpFIBStoredProc, TpFIBUpdateObject, TDataSetContainer, TpFIBErrorHandler, TFIBSQLMonitor, TSIBFIBEventAlerter, TpFIBStatistic, TpFIBClientDataSet and TpFIBDataSetProvider
・11種類の管理用の非ビジュアル追加コンポーネント:TpFIBServerProperties, TpFIBConfigService, TpFIBLicensingService, TpFIBLogService, TpFIBStatisticalService, TpFIBBackupService, TpFIBRestoreService, TpFIBValidationService, TpFIBSecurityService, TpFIBInstall and TpFIBUnInstall。管理コンポーネントはInterBaseサーバーのサービスAPIをサポートします。
・デザイン時特殊ツールであるFIBPlus Tools。FIBPlusツールにはFIBPlusプリファレンス&SQLナビゲーターが含まれます。コンパイルされたかたちでのこれらのツールはダウンロード出来ます。そして、利用登録済みのFIBPlusにはFIBPlusツールのソースが含まれています。

データベース接続

・TpFIBDatabaseを使用することでローカル、リモートのInterBaseサーバーに簡単に接続。
・SQLロールを使用した接続をサポート。
・アプリケーションはSQLDialect 1とSQLDialect 3を完全対応。 そのためのUpperOldNamesオプションで既存のアプリケーションをSQL Dialect3対応に移行可能。
・システムレジストリに接続オプションを保持する機能:ユーザー名、SQL Dialectやデータベースパス。
・プロパティとメソッドによるデータベースの総ての詳細機能へのアクセス: DBSQLDialect, ForcedWrites, NumBuffers, ODSMinorVersin や ODSMajorVersionなど
・接続が切れた場合のデータベースへの再接続のサポート。 TpFIBDataSet.CachedUpdatesを使用して、ユーザーデータを再接続して適用可能
・接続が切れた場合のコンポーネント動作の補正

トランザクションの使用と管理

・完全に明示的なトランザクションメカニズムをTpFIBTransactionによって手動・自動で使用可能
・Commit, Rollback, CommitRetaining, RollbackRetainingのトランザクション操作をサポート
・アプリケーション内でのトランザクションコンポーネントの無制限の使用数
・2フェーズコミットのサポート
・TpFIBDataSet やTpFIBQueryを開く前に自動的にトランザクションを開始するオプション
・容易な隔離レベル(TpFIBTransaction.TPBMode - tpbDefault, tpbReadCommitted or tpbRepeatableRead)の設定と、ユーザー定義による設計時の隔離パラメータの作成(TpFIBTransaction.UserKindTransaction)
・マルチユーザー環境でのデッドロックの回避に役立つ、TpFIBDataSetでの二つの異なるトランザクションを使用可能な独自機能。読み込み専用の長い単一のトランザクションにおける総てのレコードを選択し、別の書き込み用の短いトランザクションでデータを修正可能
・TpFIBDataSet と TpFIBQuery コンポーネントを使用する際の自動コミットオプション
・TpFIBDataSet中のコミットされていないデータ変更の管理(HasUncommitedChangesプロパティ)

視覚的データ操作

・TpFIBDataSetによるバッファされた完全にスクロール可能なデータセットはTDataSetと同様に動作し、TDBGridやTDBEditをはじめとするデータ操作コンポーネント(サードパーティ製のコンポーネントライブラリを含む)に対応します。
・デザイン時SQLジェネレータによって編集可能なTpFIBDataSetを作成し、TpFIBDataSet.SelectSQLに基づいた修正クエリーを簡単に生成出来ます。
・TpFIBDataSetを開いた後の、実行時のTpFIBDataSet.SelectSQLに基づく修正クエリの自動生成。レコードの変更後の修正クエリの自動生成。変更されたフィールドだけを含む修正クエリを返します。
・TpFIBDataSet.AutoUpdateOptionsによる自動インクリメントフィールドの堅牢なサポート
・TpFIBDataSet.AllowedUpdateKindsによる許可された修正操作の制御
・ユーザー定義の数値・日時フィールドの表示と編集のフォーマットの自動セット(DefaultFormatsプロパティ)
・ローカルでのフィルタリングモードをサポートします:クエリーを開き直すことなくTpFIBDataSetのレコードを抽出
・ローカルでのデータソート:クエリーを開き直すことなくTpFIBDataSetのレコードを再ソート
・TpFIBDataSetのBLOBフィールドの最適化サポート
・ローカルでのBLOBフィルタのサポートにより、TransparentPacking、BLOBフィールドのコード・暗号化をクライアントアプリケーション内で使用することができます。
・InterBase6 の新しいデータ型である DATE, TIME, TIMESTAMP, INT64 の正式サポート
・悲観的ロックモードオプションの許容(TpFIBDataSet.OptionsのpoProtectedEdit)
・クライアントアプリケーションへの全レコードのフェッチをすることなしにSelectSQLのレコード行数を取得するオプション
マスター・詳細メカニズムの最適化のための独自の仕様とオプション。マスター結合中のネットワークトラフィックの低下を現象させるために、詳細側データセットにリンクフィールドを自動設定し、詳細側が変化した際にマスター側を自動的にリフレッシュするオプション
・サーバーからのデフォルト値の取得と、ヌル不可やサーバー側の演算フィールドのためのその他の重要なオプション設定
・改良されたキャッシュアップデートモードのサポート。TpFIBDataSetはキャッシュアップデートモード中に、有効な接続やアクティブなトランザクションを必要としません。これはアプリケーションがデータベースへの変更の適用が必要なときにだけ必要となります。
・SelectSQLでマクロを使用するための独自機能。これは動的クエリーの生成に役立ちます。例えば、マクロの正しい使用方法です:"SELECT @FIELD_NAME FROM @TABLE_NAME"
・パラメータの値がヌルの場合、クエリーのテキストに "?Param = null" のレコードの代わりに"IS NULL"への自動的置き換えて入れます。この置き換えがなければ、おそらくInterBaseは必要なレコードを見つけられません。
・再クエリーすることなしに変更クエリー(InsertSQL, UpdateSQL, DeleteSQL, RefreshSQL)を修正する機能
・サーバーからレコードをフェッチするプロセスの監視と破棄の機能

高速データ操作

・TpFIBQueryによるダイレクトSQL文の実行
・TpFIBQuery.BatchInput, TpFIBQuery.BatchOutput メソッドでのパケット記録処理
・TpFIBQueryでの高速で効果的な非バッファ処理によるレコードの抽出
・TpFIBQuery.ExecProcedureによるストアドプロシージャの直接実行
・便利なBLOBフィールド処理

特殊機能とコンポーネント

・TpFIBDataSet と TpFIBQuery での配列フィールドの完全サポート
・TpFIBDataSetでのブーリアンフィールドのエミュレーションのオプション
・TpFIBDataSetのフィールドが基本型とドメインで高度に動作するので、より柔軟なデータハンドルを可能にします
・TpFIBDataSet.SelectSQLのテキストを変更後に古いパラメータを保存
・複数のTpFIBDataSetのイベントの集約的に扱う機能があり、TDataSetContainerコンポーネントによって内部メッセージを送ることが出来ます。
・クライアント側の模擬トリガー - TpFIBUpdateObjectコンポーネントによるライブクエリーで、データ更新の複合キューを生成する独自機能。TpFIBUpdateObjectは異なるデータベース接続コンポーネントとでも、異なるトランザクションのコンテクスト中でも使用可能です。このことは複雑だが理解しやすいデータ操作アルゴリズムの組織化と、並列同期を可能にします。
・InterBaseで発生したエラーを集約的に取り扱う機能のためのTpFIBErrorHandlerコンポーネント
・TpFIBStaticsticコンポーネントによるクエリーの詳細なスタティスティクスの取得と、アプリケーションパフォーマンスの向上:最新のクエリー実行数、総実行時間、平均実行時間、最長及び最短実行時間
・InterBaseイベントのサポート(TSIBFIBEventAlerter)
・FIBPlusデータリポジトリの高度なサポート。TpFIBDataSetフィールドのプロパティを埋めることが出来るようにします:ディスプレイラベル、編集形式、表示形式、表示幅、自動表示。同じようにデータベースに全部のクエリをストアし、DataSet_IDプロパティによってTpFIBDataSetコンポーネントに発行することを可能にしますFIBPlusリポジトリの実装はデータb−えすのいろんな追加オプションと、それらを簡単に使用することを可能にします

デザイン時ツール、コンポーネント・プロパティエディタ

・データベースのエイリアス(別名)と接続パラメータの高度なテストが行える接続パラメータエディタ(TpFIBDataBaseエディタ)
・高度なFIBPlusデータリポジトリエディタ(TpFIBDataBaseエディタ),はユーザーがテーブルのフィールドプロパティを編集出来るようにします
・SQLジェネレータ(TpFIBDataSetエディタ)はTpFIBDataSetの総てのクエリ(SelectSQL, UpdateSQL, InsertSQL, DeleteSQL, RefreshSQL)を生成し、修正し、確認し、保存できるようにします。

・トランザクションパラメータエディタ(TpFIBTransaction エディタ)。TpFIBTransactionのトランザクションパラメータのユーザー定義を作成し、修正し、削除出来るようにします。トランザクションパラメータエディタはシステムレジストリに総てのパラメータを保存し、外部INIファイルにエクスポート・インポートすることを可能にします。

・FIBPlus設定ツール(FIBPlusツール)はTpFIBDataSet, TpFIBDataBase, TpFIBTransaction, TpFIBQueryのオプションの必要な総てのデフォルト値を設定することを可能にします。デフォルト値は総ての新しいコンポーネントがフォームに配置される際に適用されます。FIBPlus設定ツールを使うことでアプリケーションを効率的に開発できるようになるでしょう。
・SQLナビゲータ (FIBPlusツール)はアプリケーション全体でSQLを集約的に取り扱うツールです。SQLナビゲータはアプリケーション全体からそれらを素早く取り出します。これはSQL向けFIBPlusコンポーネントに含まれます:TpFIBDataSet, TpFIBQuery, TpFIBUpdateObject , TpFIBStoredProc。SQLナビゲータを使うことで必要なSQL文をアプリケーション内から見つけ出し、修正、確認、保存することが出来ます。

多言語サポート

・TpFIBDataBase.ConnectParamsの文字セットプロパティがデータベースの国際文字コードセットをサポートします。
・Unicodeを完全にサポートします。