1

我有一个需要导入 MS Access 的 dbf,但它太大而无法直接导入(它是 4 GB .dbf),尽管我不需要整个东西。我只需要 .dbf 的一个子集,其中日期对应于当前年份(2013 年),但不知道如何创建一个新的、更小的包含数据的 DBF,以便我可以导入它。

理想情况下,这是我希望每天自动化的事情(4 GB dbf 每天早上都会被转储,所以我需要每天重新获得相同的削减)。

任何意见,将不胜感激。谢谢!

当前尝试的查询:

select * into destTable IN '\\path\to\backend.mdb'
FROM sourceDBF
WHERE (((sourceDBF.DATE)>"X2*"));

(日期部分很奇怪,因为日期存储在特定 DBF 中的方式)

错误(在运行查询大约 15-20 分钟后):http: //i49.tinypic.com/b8wb5e.png

4

1 回答 1

1

我知道 .DBF 文件通常与 dBASE、FoxPro、Visual FoxPro 和较旧的 Clipper 应用程序相关联。它们都是 32 位的,不允许单个文件超过 2 gig 文件的限制。

也就是说,Sybase 有一款名为 Advantage Database Server 的产品。除了作为自己的 SQL 数据库之外,它还被设计为向后兼容以支持 Visual Foxpro 社区。使用它的工具,您基本上可以直接连接到具有独立 .dbf 文件(甚至是数据库容器 .dbc 的一部分)的路径并打开文件查看它们,对它们运行查询等,它会允许超越 2 gig 文件限制的能力。

我强烈怀疑可能是这种情况。如果是这样,您可能可以像下载其他工具一样下载他们的工具,例如 MySQL 或 SQL 服务器管理工​​具,您可以在其中附加到数据库、进行表管理、运行查询等。

如果可行,您应该能够使用它,编写查询并选择仅包含您正在寻找的记录集(2013 年日期)的新表。然后,您的 Access 应该能够从那个较小的表中进行查询。

我使用 sybase 优势服务器在 Google 上直接搜索

出现了很多东西。

希望这可以帮助。

于 2013-02-07T15:00:42.357 回答