【问题标题】:Unable to load large .DBF file in SSIS无法在 SSIS 中加载大型 .DBF 文件
【发布时间】:2013-09-18 13:11:09
【问题描述】:

我从客户端收到了一些文件(.DBF)。每个文件的大小不同(从 40 Kb 到 2.2 Gb) 我正在使用 MS VS Foxpro 驱动程序..Provider 连接管理器。 当我连接(检索表)到存储所有文件的文件夹时。在表格/视图下拉列表中,我看到除了大小 > 2Gb 的所有表格。

我也能够在其他系统中重现这种情况。 假设,如果 DBF 文件大小为 1.5 Gb,则表格显示在下拉列表中。

有什么帮助吗?提前致谢

【问题讨论】:

标签: ssis oledb foxpro dbf


【解决方案1】:

Visual FoxPro 表或几乎任何其他表的最大大小为 2GB。所以我想这是你的问题。 64 位驱动程序不会有任何区别。我也不确定客户端如何创建大于 2GB 的文件,除非他们使用 Fox 以外的其他东西。

【讨论】:

  • 这就是为什么我建议用户查看 Sybase Advantage Server,它可以识别/使用 VFP 表(和其他 .dbf)文件并且可以处理超过 2 gig 的限制并且不限于 255每条记录的字段。
  • 但是不支持数据库容器的东西,比如存储过程和触发器,IIRC。这可能是也可能不是问题。
  • 这可能是真的,但发帖人正在寻求升级到另一台服务器,只是似乎需要读取数据......但你确实有一个好点。
【解决方案2】:

查看 SyBase Advantage 本地服务器。 Sybase 适应了那里的数据库来处理类似格式的 VFP,并且可以直接读取它们,并且超过了基于 32 位的应用程序的 2 gig 文件限制。我已经使用了一段时间从 VFP OleDB 转换了另一个系统。就个人而言,我使用 C# 和 Sybase 的数据提供程序来连接和读取数据。从那里,您可能会得到您正在寻找的东西。

Link for Sybase Local Server

本地服务器和 2 个并发用户用于开发/测试是免版税的。

【讨论】:

  • 感谢 DRapp 的反馈。我想更熟悉你列出的内容。基本上,您首先将 VFP 文件导入 Advantage Local 服务器?然后将导入的数据用于下游/所需功能。请指教。
  • @JasonM,实际上没有去 Advantage... Advantage 可以像普通的 VFP OleDb 提供程序一样本地读取 VFP 表。只需指向表所在的物理路径,然后根据需要进行选择、插入、更新、删除。但这应该让您至少可以根据需要连接并查看要处理的数据。
  • @DApp 感谢您之前的反馈。我能够加载文件。这是我所做的 1) 安装 [Advantage Data Architect] 和 [Advantage configuration utility] 2) 通过 [Import Data] 将 DBF 文件(>2Gb) 导入 [Advantage Data Architect] 3)从 SSIS 连接管理器访问初始目录(优势数据库)并指向下拉列表(OLEDB 源)中的表。我现在可以看到导入的数据了。有没有办法可以直接将这个 DBF 文件导入到 SSI 中,而不需要这么多步骤和手动发明?
  • @JasonM,我不能直接想到,除非您从 Advantage 导出到某些 CSV 格式的输出,然后批量导入到主数据库。您可能想尝试以小块的形式进行抽样以进行概念验证,例如表中的 1,000 条记录。
猜你喜欢
  • 1970-01-01
  • 2018-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多