我继承了一个在btrieve-Interface上使用pervasiveSQL数据库的项目。随着时间的推移,数据文件会有一些复制。因为看起来btrieve并不真正需要ddf文件;它对数据文件感到满意,因此ddf文件并不总是与它们一起复制。随着时间的推移,这导致了在某些安装中ddf文件和数据文件不匹配的问题(即ddf的数据定义与实际的表结构不匹配)。这对于程序的运行版本来说没有问题,但是当需要在数据库结构中更改某些内容时,这就成了一个维护问题。
所以这就是问题:是否有方法/工具从数据文件中重新创建ddf文件?对我来说似乎有可能,因为数据文件中似乎存在结构信息。我不介意重新创建的ddf会丢失实际的字段和索引名称。
如果有帮助:表之间没有定义关系(数据中有外键,但数据库没有告知它们)。所以我实际上只需要字段和索引定义。
答案 0 :(得分:1)
没有通用工具可以从数据文件中重新创建DDF。您可以使用DDF Builder根据数据文件重新创建表定义,但您需要知道记录布局。
Btrieve数据文件不存储字段结构信息。 DDF具有该信息,生成数据文件的应用程序存储该信息,但数据文件本身不存储任何字段信息。 Btrieve文件中唯一与元数据相关的是索引信息。
我的建议是使用CREATE TABLE / ALTER TABLE语句(或DTI / DTO)通过DDF维护数据文件,而不是先对数据文件进行更改,然后再更新DDF。通过使用ALTER TABLE语句修改表,DDF和数据文件始终保持同步。