从FoxPro数据库中提取结构/索引到Excel

时间:2014-04-30 15:07:18

标签: mysql foxpro

我的任务是将FoxPro数据库转换为MySQL,我需要知道如何将FoxPro数据库的结构/索引导出到Excel。这可以从FoxPro中导出那种类型的信息吗?

我知道有些工具可以为您进行此类转换,但由于我们的预算而被拒绝。我们希望创建一个专门的转换脚本,它将自动转换所有容器和dbfs。

提前谢谢你。

3 个答案:

答案 0 :(得分:1)

您可以从FoxPro执行此操作,并且无需将信息导出到Excel,Foxpro可以在MySQL中重新创建数据库/表/索引,并上传记录。

我开发了一个工具,可以使用FoxPro命令将任何FoxPro表上传到MySQL。

检查tools文件夹中的gendbc.prg并根据您的需要进行调整。

您必须为MySQL进行一些字段类型转换。此外,如果您要上传数据,请注意日期/日期时间:

将空的VFP日期字段替换为' 0000-00-00'在MySQL和' 0000-00-00 00:00:00'对于空日期时间。

一些有用的命令是AFIELDS,ATAGINFO

答案 1 :(得分: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

答案 2 :(得分:0)

所有优点......除了使用VFP,您还可以使用"工具" - > "奇才" - > "升迁&#34 ;.您将需要建立与数据库的连接,它将引导您完成大部分工作。

您可以在向导过程中升迁整个数据库,或只扩展单个表。