参见:Delphi 中 FireDAC 数据库连接(总览)

述了如何使用FireDAC离线模式,它允许你在没有与数据库持久连接的情况下处理数据。

一、概述

FireDAC的离线模式类似于多层客户端,大部分时间客户端与数据库断开连接。只有当客户端需要与数据库交换数据时,连接才是活动的。当一个应用程序在一个不稳定的环境中工作或需要保留DBMS资源时,这很有用。

在离线模式下,与数据库的连接被关闭。然而,数据集被打开。

二、控制脱线
  1. 要使一个连接进入脱机模式,请使用下列选项之一。

  • 调用TFDCustomConnection.Offline方法。

  • 在TFDCustomConnection.OnRecover方法中返回AAction=amOfflineXxxx。

FireDAC不允许你将一个连接自动带入离线模式,因为它不知道下一次应用程序需要联系数据库的时间。因此,这必须由应用程序代码来完成。在连接被设置为离线模式之前,具有尚未被获取的结果集的活动数据集会执行由FetchOptions.AutoFetchAll属性指定的操作。

  1. 要使一个连接进入在线模式,请使用以下选项之一。

  • 明确调用TFDCustomConnection.Online方法。

  1. 隐式激活,当一个连接需要与DBMS对话时,通过执行一个命令或发布更新等。

注意:ResourceOptions.AutoConnect的值必须是True,否则会产生一个异常。

如果一个数据集有指定的ResourceOptions.PersistentFileName属性,那么在Open调用时,数据集不需要连接。它从指定的文件中加载内容。

注意:将连接带入离线模式,然后再带入在线模式,这与恢复断裂的连接类似,因为数据库会话状态会丢失。更多的细节,请阅读恢复连接的文章。

更多推荐