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