你可以在没有创建锁文件的情况下访问Delphi DBIV数据库吗?

时间:2008-09-19 10:16:09

标签: database delphi

我正在尝试从Delphi DBIV数据库读取数据,每次访问数据库时,它都会创建一个Paradox.lck和一个Pdoxusrs.lck文件。我只使用一个TQuery对象来执行此操作(没有别的)。我可以在没有创建这些锁文件的情况下访问Delphi DBIV数据库吗?

3 个答案:

答案 0 :(得分:0)

为什么不想要锁定文件?没有真正研究它,我认为这些锁文件有一个真正的目的

我使用BDE已经有一段时间了,但你不能在SELECT查询中使用某些关键字来表示你不想要任何锁定吗?

例如,在MS SQL中,您可以使用以下语法:

SELECT * WITH(NOLOCK)
FROM SomeTable

答案 1 :(得分:0)

如果您的应用程序正在创建PARADOX.LCK和PDOXUSRS.LCK文件,它还会在某处创建或访问PDOXUSRS.NET文件。

BDE使用单个通用PDOXUSRS.NET文件,以及每个共享目录中的PARADOX.LCK和PDOXUSRS.LCK文件,以协调引擎的分布式实例之间的共享访问。

您必须查明您的应用程序是否与任何其他应用程序共享表。如果共享数据,则必须允许BDE创建并使用这些锁定文件。

如果您确定自己是数据的SOLE用户,则可以取消锁定文件的创建。但是 - 除非锁定文件是阻止你做有用事情的唯一因素,否则很难阻止它们的创建。

注册表项告诉BDE在哪里找到它的配置文件。配置文件编辑器随BDE一起提供;寻找BDEADMIN.EXE或BDECFG32.EXE。配置编辑器使用相同的注册表项来确定要编辑的文件。

当您是数据的唯一用户时,为避免创建锁定文件:

  1. 打开配置编辑器。

  2. 转到配置|司机|原生的PARADOX或驱动程序| PARADOX,并注意NET DIR条目。

  3. 将NET DIR值设置为空白。

  4. 转到配置|系统| INIT或System,并将LOCAL SHARE设置为False。

  5. 保存您的修改。

  6. 按照您在步骤2中记下的路径删除在那里找到的PDOXUSRS.NET。

  7. 删除数据目录中的所有剩余PARADOX.LCK或PDOXUSRS.LCK文件。

  8. 警告:如果您不了解其目的,请使用锁定文件,这是阻止您的应用的好方法。

    -Al。

答案 2 :(得分:0)

感谢您的回复。我会调查你的两个建议。

致A Breveleri:

是的,我知道你的意思,我不愿意将它们关闭,但使用数据库的其他应用程序远比我的重要。理想情况下,我希望发生以下情况:

我的应用程序开始获取数据,如果其他应用程序想要使用数据库,那么我的应用程序将停止。

目前正好相反。

炖。