データベース サーバーへの直接接続

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

データベース アーキテクチャ への移動


最も一般的なデータベース アーキテクチャは、データセットが接続コンポーネントを使用して、データベース サーバーへの接続を確立するというものです。その後、データセットはサーバーからデータを直接取得したり、編集結果をサーバーに直接登録します。その様子を次の図に示します。

データベース サーバーへの直接接続

dbdarch3.jpg

データセットの種類ごとに独自の型の接続コンポーネントが使われ、そのそれぞれが 1 つのデータ アクセス メカニズムを表します。

  • データセットが dbExpress データセットの場合(TSQLDataSetTSQLTableTSQLQueryTSQLStoredProc など)、接続コンポーネントは Data.SqlExpr.TSQLConnection オブジェクトです。データセットを SQL 接続コンポーネントに接続するには、データセットの SQLConnection プロパティを設定します。dbExpress データセットの使用時には、明示的に接続コンポーネントを追加する必要があります。もう 1 つ、dbExpress データセットが他のデータセットと異なるのは、dbExpress データセットが常に読み取り専用で単方向である点です。つまり、レコード間の移動は順方向に 1 つずつしか行えず、編集をサポートするデータセット メソッドは使用できません。
  • データセットが ADO データセットの場合(TADODataSetTADOTableTADOQueryTADOStoredProc など)、接続コンポーネントは Data.Win.ADODB.TADOConnection オブジェクトです。データセットを ADO 接続コンポーネントに接続するには、データセットの Connection プロパティを設定します。BDE データセットの場合と同様に、明示的に接続コンポーネントを追加する必要はありません。その代わりに、データセットの ConnectionString プロパティを設定します。
  • データセットが InterBase Express データセットの場合(TIBDataSetTIBTableTIBQueryTIBStoredProc など)、接続コンポーネントは IBX.IBDatabase.TIBDatabase オブジェクトです。データセットを IB データベース コンポーネントに接続するには、データセットの Database プロパティを設定します。dbExpress データセットの場合と同様に、明示的に接続コンポーネントを追加する必要があります。
  • データセットが BDE データセットの場合(TTableTQueryTStoredProc など)、接続コンポーネントは TDatabase オブジェクトです。データセットをデータベース コンポーネントに接続するには、データセットの Database プロパティを設定します。BDE データセットの使用時には、明示的にデータベース コンポーネントを追加する必要はありません。データセットの DatabaseName プロパティを設定すれば、データベース コンポーネントは実行時に自動的に作成されます。

上記のコンポーネントの他に、TBDEClientDataSet、TSimpleDataSetTIBClientDataSet などの特化したクライアント データセットをデータベース接続コンポーネントと一緒に使用することができます。これらのクライアント データセットを使用する場合は、適切な型の接続コンポーネントを DBConnection プロパティの値に指定します。

データセットの種類ごとに使用する接続コンポーネントは異なりますが、どれも多くの同じタスクを実行するため、持っているプロパティやメソッドやイベントの多くは同じです。さまざまなデータベース接続コンポーネントの共通点については、「データベースへの接続」を参照してください。

このアーキテクチャは、データベース サーバーがローカル データベースかリモート データベース サーバーかに応じて、単層アプリケーションまたは 2 層アプリケーションになります。データベース情報を操作するロジックは、データ モジュールに分離されてはいるものの、ユーザー インターフェイスを実装しているのと同じアプリケーションに含まれます。

メモ: 2 層アプリケーションを作成するために必要な接続コンポーネントやドライバは、Delphi のすべてのバージョンで使用できるわけではありません。

関連項目