Paradox Database with BDE - 在数据库/表打开时强制更改磁盘
Posted
技术标签:
【中文标题】Paradox Database with BDE - 在数据库/表打开时强制更改磁盘【英文标题】:Paradox Database with BDE - Forcing changes to disk while database/table open 【发布时间】:2012-03-07 06:21:22 【问题描述】:我们有一个 Paradox 数据库表,我们想使用 DSynchronize 之类的东西在网络上进行镜像。
我看到的问题是,通过 BDE(Borland 数据库引擎)的 Paradox 不会更新文件系统,直到表关闭,或者它使用的某个缓冲区已满。
我使用了刷新缓冲区调用,它对磁盘上的文件没有影响。在桌面上调用 close 会强制我正在寻找更新,但是对于这个问题来说是一个非常大的锤子。
我只是在某处遗漏了一些 BDE 设置吗?
最后,使用正确的 NetDir 设置通过网络共享此数据库会使更改对另一台计算机可见。这些文件仍然保持原样。两个系统仅共享 NetDir 文件夹和 Data 文件夹。我只是不明白如何在不更改文件的情况下进行更改,而它们似乎并非如此。
任何提示将不胜感激。
【问题讨论】:
【参考方案1】:试试dbiSaveChanges。
【讨论】:
这是 FlushBuffers 在内部做的,不过我会直接调用它。 好的。我找到了我的问题的答案。 Paradox/BDE 正在更新磁盘文件。它只是在文件中预先分配空间,所以它只需要不时地“触摸”它们。这意味着任何文件系统监控软件都不会看到正在应用的更改。还需要复制索引和数据库文件,否则您将不同步。以上是关于Paradox Database with BDE - 在数据库/表打开时强制更改磁盘的主要内容,如果未能解决你的问题,请参考以下文章
将 Delphi BDE Paradox *.db 查询结果导出到文本文件?
Database file怎么打开我安装了sql server