Database 您可以访问Delphi DBIV数据库而不创建锁文件吗?
我试图从Delphi DBIV数据库读取数据,每次访问数据库时,它都会创建一个Paradox.lck和一个pdoxussrs.lck文件。我只使用TQuery对象来执行此操作,而不使用其他对象。我可以访问Delphi DBIV数据库而不创建这些锁定文件吗?为什么不需要这些锁定文件?在没有深入研究的情况下,我假设这些锁文件有真正的用途 我已经有一段时间没有使用BDE了,但是您不能在SELECT查询中使用一些关键字来表示您不想要任何锁定吗 例如,在MS SQL中,可以使用以下语法:Database 您可以访问Delphi DBIV数据库而不创建锁文件吗?,database,delphi,Database,Delphi,我试图从Delphi DBIV数据库读取数据,每次访问数据库时,它都会创建一个Paradox.lck和一个pdoxussrs.lck文件。我只使用TQuery对象来执行此操作,而不使用其他对象。我可以访问Delphi DBIV数据库而不创建这些锁定文件吗?为什么不需要这些锁定文件?在没有深入研究的情况下,我假设这些锁文件有真正的用途 我已经有一段时间没有使用BDE了,但是您不能在SELECT查询中使用一些关键字来表示您不想要任何锁定吗 例如,在MS SQL中,可以使用以下语法: SELECT *
SELECT * WITH(NOLOCK)
FROM SomeTable
如果您的应用程序正在创建PARADOX.LCK和PDOXUSRS.LCK文件,那么它也在某处创建或访问PDOXUSRS.NET文件 BDE使用单个公共PDOXUSRS.NET文件以及每个共享目录中的PARADOX.LCK和PDOXUSRS.LCK文件来协调引擎分布式实例之间的共享访问 您必须查明您的应用程序是否与任何其他应用程序共享这些表。如果数据是共享的,则必须允许BDE创建和使用这些锁定文件 如果确定自己是数据的唯一用户,则可以消除锁定文件的创建。但是-除非锁定文件是唯一阻止你做有用事情的东西,否则阻止它们的创建是不值得的 注册表项告诉BDE在哪里可以找到其配置文件。BDE附带配置文件编辑器;查找BDEADMIN.EXE或BDECFG32.EXE。配置编辑器使用相同的注册表项来确定要编辑的文件 要避免在您是数据的唯一用户时创建锁定文件,请执行以下操作: 打开配置编辑器 转到配置|驱动程序|本机|悖论或驱动程序|悖论,并记下NET DIR条目 将“净目录”值设置为空 转到配置|系统|初始化或系统,并将本地共享设置为False 保存您的编辑 按照您在步骤2中记录的路径,删除在那里找到的PDOXUSRS.NET 删除数据目录中所有剩余的PARADOX.LCK或PDOXUSRS.LCK文件 警告:当你们不明白锁文件的用途时,玩弄它们是一个很好的方法来构建你们的应用程序
-Al.感谢您的回复。我将研究你的两个建议 对我来说,布雷维列里: 是的,我知道你在说什么,我不愿意关掉它们,但是另一个使用数据库的应用程序远比我的重要。理想情况下,我希望发生以下情况: 我的应用程序开始获取数据,如果其他应用程序想要使用数据库,则我的应用程序停止 目前情况正好相反
斯图。我相信有一种方法可以在不使用锁文件的情况下读取数据库,就像其他软件访问数据库时,它似乎不会创建锁文件一样。我不想要锁文件,因为其他软件更重要&不能访问。自从我访问DBIV或Paradox表已经很多年了,但是如果您在其中插入一个TDatabase组件,并将TQuery的别名指定给它,而不是将BDE别名输入TQuery本身,那么您就有一个只读选项。这是否会阻止创建锁文件?