0

我想将 Foxpro 2.6 Dos 数据文件(DBF - DBase III 格式)转换为 JSON 文件。我们是否有任何 C/C++ 库可以将 DBF 转换为 JSON 以及从 JSON 转换回 DBF。

4

1 回答 1

1

Perl 模块DBD::XBase将为您提供帮助。

在 Linux 上:sudo apt-get install libdbd-xbase-perl

在 Windows 上:安装ActivePerl,然后ppm install DBD::XBase

之后,您将拥有可以将 DBF 文件转换为 CSV 的命令行实用程序dbf_dumpdbfdump在 Windows 上)(您需要使用 --fs ","switch 来创建 CSV),然后您可以将 CSV 转换为 JSON。

但是,我建议学习 Perl DBI 的工作原理,并编写可以像从任何其他 SQL/DBI 源中读取 DBF 的代码。您的 Perl 代码可能如下所示:

use DBI;

my $dbh = DBI->connect("DBI:XBase:/path/to/dbfs")
    or die $DBI::errstr;
my $sth = $dbh->prepare("SELECT * FROM mytable");
$sth->execute();
while (my $row = $sth->fetchrow_hashref()) {
    # dump ($row->{field1}, $row->{field2}, ...) into your JSON file.
    # you might want to use JSON::XS module here
    # or, you can insert it into PostgreSQL or MySQL via DBI as well
}
$sth->finish();
$dbh->disconnect();
于 2012-10-27T10:28:43.927 回答