使用 Advantage Local Server 和 FoxPro 同时更新 DBF 文件

Posted

技术标签:

【中文标题】使用 Advantage Local Server 和 FoxPro 同时更新 DBF 文件【英文标题】:Concurrent update to DBF files with Advantage Local Sever and FoxPro 【发布时间】:2010-03-25 12:31:47 【问题描述】:

在 FoxPro 应用程序运行时使用 Advantage Local Server .Net 提供程序更新 DBF 文件是否安全,该应用程序也可能正在访问 DBF 文件?即 Advantage 是否负责行锁定?

【问题讨论】:

【参考方案1】:

Advantage 可用于使用我们的兼容性锁定在 .NET 应用程序和 VFP 应用程序之间进行并发访问。当处于兼容性锁定模式时,Advantage 使用与 VFP 相同的机制访问表。因此行锁定将由 Advantage 处理。

Advantage .NET 数据提供程序还包含一个名为 AdsExtendedDataReader 的附加对象,它提供更多 ISAM 功能。您可以使用 AdsExtendedDataReader 显式锁定记录。 You can get more information here.

【讨论】:

克里斯是正确的。此外,在兼容性锁定模式下,Advantage 也使用与 FoxPro 相同的索引锁定偏移量,因此所有并发访问都是安全的,而不仅仅是表访问。 澄清一下,当使用 AdsCommand 和 SQL 语句更新或插入时,Advantage 将处理锁定。但是,可以使用 AdsExtendedDataReader 上的方法显式控制锁定。 是的,SQL 语句将自动处理所有锁定。使用 AdsExtendedDataReader,您将能够明确锁定记录。

以上是关于使用 Advantage Local Server 和 FoxPro 同时更新 DBF 文件的主要内容,如果未能解决你的问题,请参考以下文章

PHP PDO 连接到 Advantage 数据库 SQL Server

将数据从 Advantage 数据库服务器传输到 SQL Server

Advantage Database Server INSERT/UPDATE 查询性能问题

如何生成与 Advantage Database Server 格式相同的 GUID 字符串?

Code First 的 Advantage Database Server 11 连接字符串

如何在 Delphi Code 中获取 Advantage Database Server 安装的许可证计数