2

我继承了一个通过 btrieve 接口使用 pervasiveSQL 数据库的项目。随着时间的推移,已经有一些数据文件的复制。看起来 btrieve 并不真的需要 ddf 文件;它对单独的数据文件感到满意,因此并不总是与它们一起复制 ddf 文件。随着时间的推移,这导致了在某些安装中 ddf 文件和数据文件不匹配的问题(即 ddf 的数据定义与实际表结构不匹配)。这对于程序的运行版本没有问题,但是当需要更改数据库结构时,就会成为维护问题。

那么问题来了:有没有一种方法/工具可以从数据文件中重新创建 ddf 文件?对我来说这似乎是可能的,因为数据文件中似乎有结构信息。我不介意重新创建的 ddf 是否会丢失实际的字段和索引名称。

如果有帮助:表之间没有定义关系(数据中有外键,但没有告知数据库)。所以我实际上只需要字段和索引定义。

4

1 回答 1

1

没有通用工具可以从数据文件重新创建 DDF。您可以使用 DDF Builder 根据数据文件重新创建表定义,但您需要了解记录布局。

Btrieve 数据文件不存储字段结构信息。DDF 具有该信息,生成数据文件的应用程序存储该信息,但数据文件本身不存储任何字段信息。Btrieve 文件中唯一与元数据相关的是索引信息。

我的建议是使用 CREATE TABLE / ALTER TABLE 语句(或 DTI/DTO)通过 DDF 维护数据文件,而不是先更改数据文件,然后再更新 DDF。通过使用 ALTER TABLE 语句修改表,DDF 和数据文件始终保持同步。

于 2012-10-16T13:16:07.693 回答