2011-11-07 61 views
1

我重寫一個基於由文件.dbf組成的舊Foxbase數據庫的程序。我需要一個能夠讀取這些文件的工具,並幫助將數據傳輸到PostgreSQL。你知道也許有一些這種類型的工具?Foxbase到postrgresql的數據傳輸。 (dbf文件讀取器)

+0

你可以很容易地寫出一個這樣的信息http://www.dbf2002.com/dbf-file-format.html –

+0

@HughJones它不像你希望的那麼明確。根據哪個程序生成文件,有很多奇怪的邊緣情況。例如,某些類型的DBF使用二進制編碼的小數位數字字段和備忘錄文件偏移量,其他人使用整數。還有一個討厭的大碼和小碼的混音。 –

回答

1

作爲遷移路徑的一部分,您可以使用Pythonmy dbf module。一個非常簡單的腳本,將DBF文件轉換爲CSV是:

import sys 
import dbf 
dbf.export(sys.argv[1]) 

,這將創造一個.csv文件同名的DBF文件。如果你把這些代碼到一個名爲腳本dbf2csv.py然後你可以把它作爲

python dbf2csv.py dbfname 

希望有一些方便的工具來獲取csv文件到PostgreSQL的。

2

pgdbf.sourceforge.net - 已經爲我提供的所有DBF工作過。引用該網站描述:

PgDBF是將數據庫的XBase程序 - 尤其是 FoxPro表與備忘錄文件 - 到了PostgreSQL 直接導入的格式。這是一個緊湊的C項目,與標準的Unix庫無關,其他 。

如果您正在尋找一些可以在Windows上運行的東西,並且不能直接編譯,您可以使用cygwin(www.cygwin.com)構建並運行pgdbf。

+0

它是否真的可以在Cygwin下運行?我不知道爲什麼它不會,但如果它真的很酷,它會很酷! (我寫了PgDBF。) –