我正在寻找一种解决方案来访问 DBF 文件并读取独占锁定的数据。问题是,我无法关闭主服务并复制数据库。
有没有可能避免这些排他锁并读取数据?我的意思是有一个解决方法,在 Access 中有一个链接表,但我不记得了。
谢谢
托本
我正在寻找一种解决方案来访问 DBF 文件并读取独占锁定的数据。问题是,我无法关闭主服务并复制数据库。
有没有可能避免这些排他锁并读取数据?我的意思是有一个解决方法,在 Access 中有一个链接表,但我不记得了。
谢谢
托本
你不能。“独占锁定”的意思正是它所说的 - 文件被锁定以供独占使用。
如果您确实设法想出一种方法来绕过此锁定并访问该文件,则无法保证您读取的任何内容在当时都是有效的。即使以某种方式复制文件然后打开它也不能保证数据是有效的,因为你不正确地复制了它。
如果您需要在文件被独占锁定时访问该文件,那么您在某处存在设计缺陷。集中精力解决这个问题,而不是试图拼凑出一个解决方法。
我认为您不能使用从 foxpro 应用程序或 foxpro 命令中使用 EXCLUSIVE 关键字打开的表。这不可能。尽管您可以使用外部 C/C++ 应用程序来访问数据库并返回您需要的值(前提是它是单个值而不是包含许多行/列的查询)。
您有权访问源代码吗?我问是因为避免这种情况的最好方法是不要一开始就打开表 EXCLUSIVE。在任何延长的时间段内,不应该经常需要以独占方式打开表。
如果这不是一种选择,则可以使用外部应用程序或命令将文件复制到 FP 之外,并从副本中读取数据。