2012-10-16 101 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