通过VFP中的命令窗口运行查询tabPage->Name
后,我无法使用OleDb Provider从C#访问该表,直到关闭VFP
System.Data.OleDb.OleDbException:'无法打开文件\\ some-server \ some-share \ SomeTable.dbf。'
就像执行查询后VFP没有关闭文件句柄一样。
如何告诉VFP关闭文件/表而不必关闭VFP?
答案 0 :(得分:0)
use
不带任何参数的情况会关闭当前工作区中的表\光标。
use in (select('SomeTable'))
仅在打开任何工作区时将其关闭。
这两个命令的作用域仅限于当前数据会话。如果使用默认会话以外的任何会话,则需要循环这些会话并在其中关闭。
一种更简单的方法是执行:
set exclusive off
在打开任何表之前在VFP中按。然后将共享打开这些表,您可以从VFP或外部打开它们。
或者通过转到Tools -> Options -> Data
并取消选中“ Open Exclusive”来将其设置为永久设置:
顺便说一句,我回答过要考虑使用“使用”或“从该表中选择...”打开的任何表。
不过,您的问题含糊不清,也许您的意思是该表是作为查询的结果创建的(尽管您的查询没有该目的地)。如果是这种情况,那么创建的表将被独占使用,直到您关闭它为止(使用顶部的命令之一)。