開発者リファレンス > データアクセス方法 > Zen Direct Access Components (PDAC) Guide > Direct Access Components の使用方法
Direct Access Components の使用方法
以下のトピックでは、Delphi および C++Builder で使用する Zen Direct Access Components(PDAC)について説明します。
この機能の実装方法については、Direct Access Components リファレンスを参照してください。
Zen Direct Access Components の概要
Zen Direct Access Components は、Borland Delphi と C++Builder 環境内で、Zen データベース エンジンへ直接トランザクショナルおよびリレーショナル アクセスできるようにする、一連の Visual Component Library(VCL)コンポーネントです。この SDK は、以前は "Pervasive Direct Access Components(PDAC)" と呼ばれていました。この略称 PDAC は現在も SDK で使用されています。Zen v15 より前のリリースでは、これらのランタイム コンポーネントは統合され、Zen データベースの 32 ビットおよび 64 ビットの \bin ディレクトリに .bpl ファイルとしてインストールされていました。v15 以降、これらのコンポーネンは Zen インストールから削除されましたが、ダウンロードにより入手される SDK で引き続き利用することができます。これには、RAD Studio 用の設計時コンポーネントも含まれています。
サポートされる開発環境については、PDAC のリリース ノートを参照してください。
PDAC のすべてのバージョンには、次の非ビジュアル コンポーネントが含まれています。
TPvSession
TPvDatabase
TPvTable
TPvBatchMove
TPvQuery
TPvStoredProc
TPvUpdateSQL
TPvSqlDatabase
これらの 32 ビット コンポーネントのサポート クラスも提供されています。これらのコンポーネントは、Embarcadero の Data Access Components のプロパティ、メソッド、およびバインド機能を再現でき、実行時に Borland Database Engine(BDE)が存在している必要はありません。
これらのコンポーネントはパッケージ形式で提供され、組み込みコントロールの設計時および実行時に必要なすべての機能を提供します。これらは BDE コンポーネントと同様の方法で Embarcadero データ アウェア コントロールにバインドします。また、完全に互換性のある、サード パーティのバウンド コントロールにもバインドします。
Woll2Woll InfoPower コンポーネントとの相互運用性のための特別なコンポーネント(wwPvTable、wwPvQuery および wwPvStoredProc)が装備されています。
エンジンのバージョンのチェック
PDAC では、クエリまたはテーブルを開いたときにデータベース エンジンのバージョンを確認して、エンジンのバージョン依存に伴うエラーが発生しないようにしています。エンジンのバージョンが不適切な場合は、必要なバージョンを示す例外を返します。
TPvQuery.PassThrough
SQL クエリ テキストを事前解析しないで、エンジンへ直接送ることができます。
TPvDatabase.OEMConversion
このプロパティは、データベースに格納されている文字は OEM(DOS)コード ページによってエンコードされているため、データベースを使用する前にこれらの文字を ANSI(Windows)コード ページに変換する必要があることを示します。
詳細情報を入手するには
PDAC 用の SDK ダウンロードを参照してください。これは弊社 Web サイトにあります。
Zen Direct Access Components の使用法
PDAC は、アーカイブからそのコンポーネントをディレクトリ(installdir)に展開することでインストールします。システム上の Delphi または C++Builder IDE が、その展開されたコンポーネントの場所を認識できることを確認してください。
C++Builder のプロジェクト オプションに、PDAC のためのインクルード パスとライブラリ パスを反映させるためには以下の手順に従います。これらはデフォルトのオプションとして追加することができます。そのため、Zen コンポーネントを使用しているすべてのプロジェクトに必要というわけではありません。
PDAC を C++Builder のインクルード パスとライブラリ パスに追加するには
1. C++Builder で[プロジェクト]>[オプション]を選択して、[ディレクトリ/条件]タブをクリックします。
2. [インクルード パス]に installdir\sdk\pdac\Delphi?\include を追加します。ここで、installdir は PDAC をインストールしたディレクトリを示します。疑問符(?)は使用している RAD Studio のバージョンに置き換えます。
3. さらに[ライブラリ パス]に、installdir\sdk\pdac\Delphi?\lib と、installdir\sdk\pdac\Delphi?\lib\dcu をセミコロン(;)で区切って追加します。疑問符(?)は使用している RAD Studio のバージョンに置き換えます。
インクルード パスとライブラリ パスを正しく設定すると、Direct Access Components を対応する Embarcadero コンポーネントとまったく同様に使用できるようになります。
Delphi および C++Builder
Zen では Delphi 6 以降のすべての Delphi バージョンをサポートします。お使いの IDE に Delphi または C++Builder を組み入れるには、次の手順を使用します。
Delphi または C++Builder パッケージとパス情報をお使いの環境に追加するには
1. Delphi または C++Builder で[コンポーネント]>[パッケージのインストール]>[追加]をクリックします。
2. 設計時パッケージを選択します。
3. Delphi compiled units(DCU)とインターフェイス ファイル(INT)にパスを追加します。
お使いの環境に合ったコンポーネントを選択すると、VCL プロジェクトに Zen が表示されるようになります。これで、PvTable または PvQuery を追加して、PDAC を使用するアプリケーションを構築することが可能になりました。
PDAC に基づくアプリケーションの配布
Embarcadero などのランタイム ライブラリ用にはいくつかのバリエーションがありますが、エンド ユーザーに配布する PDAC アプリケーションは 2 つの方法で構築できます。1 つは実行時パッケージを使用する方法、もう 1 つはアプリケーションの実行可能ファイルに PDAC ライブラリを静的にリンクする方法です。また、C++Builder では Embarcadero ライブラリの動的または静的リンクも提供します。PDAC アプリケーションを正常に実行させるためには、Zen のクライアントまたはエンジン(Enterprise Server、Cloud Server、Workgroup)のいずれかがターゲット コンピューターに適切にインストールされている必要があります。
実行時パッケージの使用の決定
実行時パッケージを使用する場合はいくつかの利点があります。最小の実行可能ファイルを提供することができます。これは、リンクの遅い環境で実行可能ファイルまたは更新のダウンロードや転送を行う必要がある場合には重要になります。このオプションを使用すれば、PDAC および Embarcadero のランタイム バイナリを共有することができ、多くの Embarcadero および PDAC アプリケーションを使用する環境内のディスク容量やメモリを大幅に節約することができます。
欠点は、より多くのファイルを配布し、それらを最新のものにしておく必要があること、またその共有ファイルは、共有サブディレクトリにサード パーティ製の不適切なバージョンの共有ファイルがインストールされることによって影響を受ける恐れがあることです。実行時パッケージを使用しない場合は、アプリケーションと drm.dll のみを配布する必要があります。PDAC ライブラリは実行可能ファイルに静的にリンクされるため、それに伴ってサイズは大きくなります。
実行時パッケージを使用する場合、開発者はアプリケーションの実行可能ファイルおよび PDAC ライブラリ(PDAC インストールの redist サブディレクトリ内)の両方と、Embarcadero ランタイム ライブラリまたはその他のランタイム ライブラリ(コンパイラの bin ディレクトリにある borlndmm.dll が必要になることが多い)をエンド ユーザーに配布する必要があります。
Redist サブディレクトリ
Embarcadero の各コンパイラには、redist ディレクトリがあります。このディレクトリには、.bpl ライブラリが含まれており、これらのライブラリは[実行時パッケージを使って構築]オプションを使ってコンパイルされたアプリケーションと一緒に配布する必要があります。
メモ:  各 redist ディレクトリには .dcp または .bcp ファイルも含まれています。これらのファイルは、派生クラスを使用した開発が許可されるライセンスを持つ組織以外には再配布されません。.dpl パッケージと .bpl パッケージのみをアプリケーションと一緒に配布することができます。
Delphi または C++Builder の構築と配布手順
Delphi IDE で以下のように適切なオプションを設定します。
1. プロジェクト]メニューから[オプション]を選択します。
2. パッケージ]タブをクリックします。
実行時にアプリケーションと PDAC ライブラリとを動的にリンクさせるには、[実行時パッケージを使って構築]のチェックをオンにし、適切な PDAC パッケージを編集ボックスのリストへ追加します。
メモ:  インストール時に PDAC パッケージが構築リストに追加されていた場合は、上記の手順は必要ありません。
3. Delphi のバージョンに応じて、MicroKernel エンジンに必要となる 32 ビットまたは 64 ビット実行時パッケージ(.bpl ファイル)を選択します。
メモ:  PDAC パッケージをリストに追加しない場合、これらは実行可能ファイルにコンパイルされ、[実行時パッケージを使って構築]のチェックがオンになっていても共有ライブラリは使用されません。
4. PDAC ライブラリを実行可能ファイルに静的にリンクさせるには、[実行時パッケージを使って構築]チェック ボックスをオフにしておきます。コンパイル時にこの設定をオンにしていた場合は、アプリケーションを配布するときに、ライブラリとその他必要なパッケージや DLL も配布する必要があります。
これらのファイルは、アプリケーションの実行可能ファイルと同じサブディレクトリにインストールすることができますが、他のアプリケーションと共有できるよう、ターゲット コンピューターのパスに置くことをお勧めします。Zen インストール場所の \bin ディレクトリが Zen 実行モジュールの主ディレクトリである場合は、このディレクトリを使用するのが適切です。
さらに、Delphi の PDAC アプリケーションでは、Zen エンジン(サーバーまたはワークグループ)または Zen クライアントのいずれかと、適切にインストールされ設定されているリモート サーバーが必要です。
Delphi 6 より更新されたパッケージ名
Delphi 6 以降、弊社では Embarcadero 標準との互換性をより強化するようパッケージの名前付け規則を変更しました。また、Embarcadero 要件を満たすために、実行時パッケージを設定時パッケージから分けました。
旧バージョンの Delphi と PDAC から移行する場合の、パッケージ名の解釈方法を以下の表に示します。
ファイル名の桁位置
可能な値
説明
1
p
PSQL(Zen 製品の以前の名前)
2
c、b または s
Common、Btrieve または SQL
3 - 5
リリースによって異なる
PDAC コンポーネントのメジャーおよびマイナー バージョン
6
r、d
実行時または設計時
7 - 9
リリースによって異なる
これらのコンポーネントを適用する Delphi バージョン
メモ:  Delphi 6 では、InfoPower はメイン パッケージに結合されており、Woll2Woll は独立していません。
最終更新日: 2024年07月08日