接続のオフライン化(FireDAC)

提供: Appmethod Topics
移動先: 案内検索

接続の操作(FireDAC) への移動


FireDAC をオフライン モードで使用する方法を説明します。このモードでは、データベースに常に接続していなくてもデータを扱うことができます。

概要

FireDAC のオフライン モードは多層クライアントと似ていて、ほとんどの時間、クライアントはデータベースから切り離されています。 接続がアクティブになるのは、クライアントがデータベースとデータを交換する必要があるときだけです。 これは、アプリケーションが不安定な環境で動作する場合や、DBMS リソースを節約する必要がある場合に有益です。

オフライン モードでは、データベースへの接続は閉じられます。 ただし、データセットは開いたままです。

オフライン化の制御

接続をオフライン モードに移行させるには、次のいずれかを行います。

アプリケーションが次にいつデータベースにアクセスする必要があるかが FireDAC にはわからないため、接続を自動的にオフライン モードに移行させることはできません。 そのため、これはアプリケーション コードで行う必要があります。 アクティブなデータセットにまだ取得されていない結果セットが残っている場合には、接続をオフライン モードに設定する前に、FetchOptions.AutoFetchAll プロパティに指定されたアクションが実行されます。

接続をオンライン モードに移行させるには、次のいずれかを行います。

  • TFDCustomConnection.Online メソッドを明示的に呼び出します。
  • 接続によって DBMS にアクセスする必要が生じたときに、コマンドを実行したり更新を送信するなどして、暗黙的にアクティブ化します。
メモ:  ResourceOptions.AutoConnect の値は True でなければならず、そうでなければ、例外が発生します。

データセットに ResourceOptions.PersistentFileName プロパティが指定されている場合には、Open を呼び出したときに、データセットへの接続は必要ありません。指定されたファイルから内容が読み込まれます。

メモ: 接続をオフライン モードにし、それからオンライン モードに戻すと、切断された接続を回復した場合と同様に、データベース セッションの状態が失われます。 詳細は、「接続の回復」のトピックを参照してください。

関連項目