2013-03-13 106 views
1

我使用OdbcConnection創建了一個帶有C#代碼的.dbf文件,但是當我想用dbase打開它時,它說這不是dbf文件,任何人都可以解釋爲什麼和它如何工作?在c#中創建的dbf文件無法在dbase中打開

+0

有與數據庫文件相關聯的文件頭的不同版本...... dBase,FoxPro(舊版本)和Visual FoxPro。你能否向我們展示連接(隱藏私人路徑信息)以及用於創建表的命令。另外,你真的試圖從dBASE打開嗎?哪個版本也是。 – DRapp 2013-03-13 20:37:13

+0

我必須用dBase打開它,因爲另一個應用程序(在25年前在DOS下創建)也使用它。連接是ODBCConnection(DSN = CodeBase; DBQ = C:\ Temp)和commande是CREATE TABLE CENTRALE(DATE DATE,PERS NUMERIC(5,0),SERVICE NUMERIC(12,2)) – 2013-03-14 10:24:13

+0

事實上,我必須修改一個表的結構,因爲我不能使用ALTER TABLE,我不得不刪除和創建與列添加表,但每次我創建時,DBF文件被損壞...不僅DBase不能打開它,但它總是被打斷.... – 2013-03-14 10:30:54

回答

1

從您的意見,這聽起來像dBase III Plus的東西。我甚至不相信ODBC甚至在80年代末90年代早期存在。回到目前爲止,dBASE甚至沒有「數據庫」,但所有的表格實際上都是自由的,作爲開發人員,您可以編碼您的關係來添加記錄,建立密鑰等。

什麼您可能想要做的只是根據您期望從dBASE直接獲得的格式創建一個表格,並將其放在保存文件夾中爲空。然後,當你需要它時,複製到目標目錄並從那裏運行。

第二個選項...轉到Microsoft並下載他們的「VFP Ole DB提供程序」並嘗試使用它。您也可以嘗試執行ExecNonQuery並嘗試類似於

use SomeTable 
copy to YourNewTable type foxplus 

這可能是最接近dBase輸出的輸出。