データセットとデータベース接続およびセッション接続との関連付け

提供: RAD Studio
移動先: 案内検索

BDE 対応データセットの利用:インデックス への移動

メモ: ボーランド データベース エンジン(BDE)の使用は推奨されません。今後 BDE は機能拡張されません。たとえば、BDE では Unicode がサポートされていません。BDE を使用して新たに開発しないことをお勧めします。既存のデータベース アプリケーションを BDE から dbExpress に移行することを検討してください。

BDE 対応データセットがデータベースサーバーからデータを取得するには、データベースとセッションの両方を使用する必要があります。

データベースは特定のデータベースサーバーへの接続を表します。データベースは、BDE ドライバ、そのドライバを使用する特定のデータベースサーバー、そのデータベースサーバーに接続するための一連の接続パラメータを識別します。それぞれのデータベースサーバーは、Bde.DBTables.TDatabase コンポーネントで表されます。データセットは、フォームまたはデータモジュールに追加する TDatabase コンポーネントを関連付けることができます。また、データベースサーバーを単に名前で特定すると、データベースコンポーネントが Delphi によって暗黙的に生成されます。ほとんどのアプリケーションでは、TDatabase コンポーネントを明示的に作成することをお勧めします。この場合、このデータベースコンポーネントを使用して、ログインプロセスなどの接続の確立方法を細かく制御できるとともに、トランザクションを作成して利用することができます。

BDE 対応データセットをデータベースに関連付けるには、DatabaseName プロパティを使用します。DatabaseName は文字列で、その内容は、明示的なデータベースコンポーネントを使用するかどうかで異なります。また、明示的なデータベースコンポーネントを使用しない場合は、使用するデータベースの種類によって異なります。

  • TDatabase コンポーネントを明示的に使用する場合、DatabaseName は、TDatabase コンポーネントの DatabaseName プロパティの値になります。
  • データベースコンポーネントを暗黙的に使用する場合に、データベースに BDE エリアスがあれば、DatabaseName の値として BDE エリアスを指定できます。BDE エリアスは、データベースとそのデータベースの環境設定情報を表します。エリアスに関連付けられる環境設定情報は、データベースの種類(Oracle、Sybase、InterBase、Paradox、dBASE など)によって異なります。
  • Paradox または dBASE データベースに対して暗黙的なデータベースコンポーネントを使用する場合は、DatabaseName に単にデータベーステーブルのあるディレクトリを指定することができます。

セッションを使用すると、アプリケーション内の一連のデータベース接続をグローバルに管理できます。BDE 対応データセットをアプリケーションに追加すると、Bde.DBTables.Session というセッションコンポーネントが自動的にアプリケーションに組み込まれます。アプリケーションにデータベースコンポーネントやデータセットコンポーネントを追加すると、そのコンポーネントは自動的にこのデフォルトセッションに関連付けられます。また、セッションコンポーネントは、パスワード保護された Paradox ファイルへのアクセスを制御し、ネットワーク上で Paradox ファイルを共有するためのディレクトリ位置を指定します。データベース接続や Paradox ファイルへのアクセスは、セッションのプロパティ、イベント、およびメソッドを使って制御できます。

デフォルトセッションを使用して、アプリケーション内のすべてのデータベース接続を制御することができます。また、設計時に追加のセッションコンポーネントを追加するか、実行時にそれらを動的に作成して、アプリケーション内のデータベース接続のサブセットを制御することもできます。データセットを、明示的に作成したセッションコンポーネントに関連付けるには、SessionName プロパティを使用します。アプリケーションで明示的なセッションコンポーネントを使用しない場合、このプロパティの値を指定する必要はありません。データセットに関連付けられたセッションには、それがデフォルトセッションか、または SessionName プロパティを使って明示的に指定したセッションかにかかわらず、DBSession プロパティを使ってアクセスできます。

メモ: セッションコンポーネントを使用する場合、データセットの SessionName プロパティと、そのデータセットが関連付けられているデータベースコンポーネントの SessionName プロパティは一致していなければなりません。

関連項目