2014-04-30 76 views
0

我一直負責將FoxPro數據庫轉換爲MySQL,我需要知道如何將FoxPro數據庫的結構/索引導出到Excel。這有可能從FoxPro導出該類型的信息?從FoxPro數據庫提取結構/索引到Excel

我知道有些工具可以爲您做這種轉換,但由於我們的預算而被拒絕。我們希望創建一個專門的轉換腳本,它將自動轉換我們所有的容器和dbfs。

預先感謝您。

回答

1

如果您在Leafe.com處查看下載區,可以使用各種免費工具將VFP中的數據遷移到MySQL中。

有一個數據上傳程序和一些工具,用於從Visual FoxPro中當前選擇的別名創建MySQL CREATE TABLE腳本。

另外,如果你想追求Excel的路線手動然後...

如果你有一個表MYTABLE。DBF結構如下:

Structure for table:   C:\TEMP\MYTABLE.DBF 
Number of data records:  0  
Date of last update:   01/05/2014 
Code Page:     1252  
Field Field Name   Type      Width  Dec Index Collate  Nulls  Next  Step 
    1 FIRSTNAME    Character      20         No 
    2 LASTNAME    Character      20         No 
    3 AGE     Numeric       3         No 
    4 ID     Integer (AutoInc)    4    Asc Machine  No   1   1 
** Total **             48 

然後你就可以通過VFP命令窗口轉儲結構到另一個DBF這樣的:

cd \temp 
use mytable 
copy structure extended to mytablestruct.dbf 

然後,您可以打開包含結構信息表和轉儲以XLS格式:

use mytablestruct 
copy to struct.xls type xl5 

在Excel中,這將是這樣的:

enter image description here

關於索引你會這樣編寫一個小程序:

Create Cursor indexinfo (idxname C(254), idxtype c(254), idxkey c(254), ; 
     idxfilter c(254), idxorder c(254), idxcoll c(254)) 
    Use mytable In 0 
    Select mytable 
    lnTags = ATagInfo(laTemp) 
    For i = 1 to lnTags 
     Insert into indexinfo values (laTemp[i, 1], laTemp[i, 2], laTemp[i, 3], laTemp[i, 4], laTemp[i, 5], laTemp[i, 6]) 
    EndFor 
    Select indexinfo 
    Copy To indexinfo.xls type xl5 

打開合成indexinfo.xls:

enter image description here

1

您可以從FoxPro中完成,並且不需要將信息導出到Excel,Foxpro可以在MySQL中重新創建數據庫/表/索引,並上傳記錄。

我開發了一個工具,可以將任何FoxPro表上傳到MySQL,只需使用FoxPro命令。

檢查工具文件夾中的gendbc.prg,並根據您的需要進行調整。

您將不得不爲MySQL做一些字段類型轉換。另外如果你要上傳你的數據,有一些日期/日期時間的注意事項:

在MySQL中使用'0000-00-00'替換空的VFP日期字段,''0000-00-00 00:00: 00'爲空日期時間。

一些有用的命令是AFIELDS,ATAGINFO

+0

謝謝您的回覆!我很高興聽到可以使用FoxPro命令。我怎樣才能看看gendbc.prg?做一個只是做一個修改查看gendbc.prg?我有FoxPro 8.使用您開發的工具是否將FoxPro索引傳遞給MySQL? – klm10

0

所有的好點...此外與VFP,您可以通過菜單做的「工具」 - >「奇才」 - >「升遷」。你將需要連接到數據庫,它會引導你通過大部分的東西。

您可以在嚮導過程中升遷整個數據庫或升級單個表。

+1

是的,但升遷嚮導適用於Microsoft的SQL Server,不適用於OP提及的MySQL。 –