【问题标题】:SSIS package completed successfully but data is not getting loaded into Excel DestinationSSIS 包成功完成,但数据未加载到 Excel 目标中
【发布时间】:2015-04-29 06:21:35
【问题描述】:

在数据流任务中,我有 OLEDB 源、数据转换任务和 excel 目标。

我可以通过 DATA CONVERSION 任务看到数据从 OLEDB 源移动到 EXCEL。 我打开了数据查看器,我可以看到数据在移动。

我用平面文件替换了 Excel。平面文件正在加载数据。

但如果我的目的地是 EXCEL,那么我就无法看到该 excel 文件中的数据。总行数约为 600,000,我的目标 excel 为 2007(.xlsx) 我在 32 位运行它。

谁能帮帮我?我需要它。

非常感谢您。

【问题讨论】:

  • 尝试使用 .xls 文件。我的意思是 97-2003 格式。
  • 我认为您可能超出了 Excel 工作表的最大行数限制。看看按照这些思路进行谷歌搜索是否有帮助。

标签: sql excel ssis


【解决方案1】:

Excel 2007 的行数限制为 65,536。我知道这里的来源是维基百科,但它是准确的。 Source: Wikipedia Excel 2010 是一百万 MS Excel Specs。可能是时候升级了。

【讨论】:

  • 提问者有 600,00 行并且正在使用 excel 2007。根据您的维基百科链接,excel 2007 有 1,048,576 行限制。那应该这样做。你不觉得吗? stackoverflow.com/questions/197762/…
  • 第一个链接是 2007 版的 excel,第二个链接是当前的 excel 版本。
【解决方案2】:

如果您还没有检查,请翻页/向下滚动到电子表格的末尾,以确认数据没有被附加到之前保存数据的行下方。

Carl 的回答可能是正确的,但我想我会分享这个以防万一。我今天在开发 SSIS 包时也有类似的结果。

我尝试将数据传输到之前在前 1400 行中有数据的 Excel 工作表。在运行包之前,我删除了 Excel 表中的数据。包运行完成(全为绿色)并说它写了 1400 行。

回去检查文件,但什么也没有。对软件包进行了一些调整,然后又运行了几次,结果相同。

在仔细检查目标 Excel 工作表后,我发现数据确实转移到了 Excel 工作表中,但直到第 1401 行才开始......即使第 1-1400 行中没有任何内容。做了一些研究,但没有找到值得花时间的解决方案。我最终只是将数据导出到一个新文件。

【讨论】:

  • 这个答案可以通过在您如何找到该解决方案的叙述之前提前发布该问题的新解决方案来改进。
  • 已编辑...感谢您的输入,杰弗里。很有道理。
【解决方案3】:

转到;

可再发行组件版本注册表项

Excel 2016

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\16.0\Access Connectivity Engine\Engines\Excel

Excel 2010

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel

改变 TypeGuessRows 8 -> 0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多