参见:Delphi 中 FireDAC 数据库连接(总览)
述了如何使用FireDAC离线模式,它允许你在没有与数据库持久连接的情况下处理数据。
一、概述
FireDAC的离线模式类似于多层客户端,大部分时间客户端与数据库断开连接。只有当客户端需要与数据库交换数据时,连接才是活动的。当一个应用程序在一个不稳定的环境中工作或需要保留DBMS资源时,这很有用。
在离线模式下,与数据库的连接被关闭。然而,数据集被打开。
二、控制脱线
要使一个连接进入脱机模式,请使用下列选项之一。
调用TFDCustomConnection.Offline方法。
在TFDCustomConnection.OnRecover方法中返回AAction=amOfflineXxxx。
FireDAC不允许你将一个连接自动带入离线模式,因为它不知道下一次应用程序需要联系数据库的时间。因此,这必须由应用程序代码来完成。在连接被设置为离线模式之前,具有尚未被获取的结果集的活动数据集会执行由FetchOptions.AutoFetchAll属性指定的操作。
要使一个连接进入在线模式,请使用以下选项之一。
明确调用TFDCustomConnection.Online方法。
隐式激活,当一个连接需要与DBMS对话时,通过执行一个命令或发布更新等。
注意:ResourceOptions.AutoConnect的值必须是True,否则会产生一个异常。
如果一个数据集有指定的ResourceOptions.PersistentFileName属性,那么在Open调用时,数据集不需要连接。它从指定的文件中加载内容。
注意:将连接带入离线模式,然后再带入在线模式,这与恢复断裂的连接类似,因为数据库会话状态会丢失。更多的细节,请阅读恢复连接的文章。