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

Paradox 如何管理 null 和空值?

操作必须是可更新的查询 - VB Script, Paradox Table

Delphi 连接 Paradox

如何实现Paradox数据库文件(*.db)到sql server数据库的导入----要求用代码,不用向导