我正在寻找一种访问DBF文件并读取独占锁定数据的解决方案。问题是,我无法关闭主服务并复制数据库。
是否有可能避免这些独占锁并无论如何都要读取数据?我的意思是有一个解决方法,在Access中有链接表,但我不记得。
感谢
托本
答案 0 :(得分:3)
你做不到。 “独家锁”意味着它所说的 - 文件被锁定以供独家使用。
如果您确实设法绕过此锁并访问该文件,则无法保证您在任何时候阅读的内容都是有效的。即使以某种方式复制文件然后打开它也不能保证数据有效,因为你不正确地复制了它。
如果您需要在文件被独占锁定时访问该文件,那么您在某处就会遇到设计缺陷。专注于修复,而不是试图破解解决方法。
答案 1 :(得分:0)
我认为您不能使用foxpro应用程序或foxpro命令中使用EXCLUSIVE关键字打开的表。这不可能。虽然您可以使用外部C / C ++应用程序来访问数据库并返回您需要的值(假设它是单个值而不是包含许多行/列的查询)。
答案 2 :(得分:0)
您是否可以访问源代码?我问,因为避免这种情况的最好方法是不要打开表EXCLUSIVE开头。通常情况下,表格需要在任何延长的时间段内独占打开。
如果这不是一个选项,可以使用外部应用程序或命令将文件复制到FP之外,并从副本中读取数据。