2012-10-16 73 views
2

我继承了一个项目,该项目在btrieve-Interface上使用pervasiveSQL数据库。随着时间的推移,有一些复制数据文件。因为它似乎btrieve并不真的需要ddf文件;它对数据文件本身很满意,所以ddf文件并不总是与它们一起复制。随着时间的推移,这导致了在某些安装中ddf文件和数据文件不匹配的问题(即,ddf的数据定义与实际的表结构不匹配)。这对程序的运行版本来说不成问题,但在数据库结构中需要更改某些内容时会成为维护问题。从数据文件重新创建ddf文件(Pervasive SQL)

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

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

+0

FrankB是否能够重新创建DDF文件? – elmo

+0

@elmo不幸没有。我有旧的ddf似乎工作。如果有一天事实证明他们不 - 我将不得不从头开始重新创建整个数据库(或者至少有问题的表)... – FrankB

回答

1

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

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

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

+0

我在更改结构时使用ALTER TABLE方法。出现ddf问题是因为有时数据文件没有使用ddfs进行复制,然后为了改变结构,必须找到可能匹配的ddf。有时候没有这种结构的ddfs,所以需要使用一些“几乎”正确的文件... – FrankB

+0

谢谢,我会尝试DDF Builder ... – FrankB