【问题标题】:Data conversion errors in export to Excel SSIS package导出到 Excel SSIS 包中的数据转换错误
【发布时间】:2015-04-28 17:14:15
【问题描述】:

构建包以从 SQL Server 视图中提取数据并将其加载到 Excel 文件中。出现一般错误(多步 OLE DB 操作生成错误...没有完成任何工作。显然这通常来自数据类型不匹配。我正在查看数据转换任务中的映射,但我没有看到有什么问题。当我尝试在 SQL Server 的数据导出向导中创建它时,我遇到了截断错误。

我听说我可以使用“派生列”任务来修复转换失败,但我需要确定哪些列有问题。如何查明确切的问题列?

编辑 - 使用 BIDS 2008,导出到 excel 目的地。我第一次尝试在 SSMS 中使用导入/导出向导,但一直失败,所以我现在尝试在 SSIS/BIDS 中进行。

当我尝试在目标任务中打开映射选项卡时,我目前得到 0x80040E37。显然,修复是设置为 32 位或修复映射。我在 32 位运行,无法修复映射,因为此错误导致选项卡无法打开。

【问题讨论】:

  • 哪个版本的 SSIS? “导出到 Excel”是指导出到平面文件 (CSV) 还是数据流任务中的实际 Excel 目标? “数据导出向导”是指导入导出向导,因此您没有使用 BIDS 或服务器数据工具?
  • 找到问题列的一种方法是一次将它们添加到您的数据流中。当您找到该列时,查询该列中数据的最大长度,并验证您正在导出到数据流中的该大小列。
  • 我添加了一个数据查看器,发现 70% 的列显示的是 而不是数据。我一直在更改数据转换中的映射,现在只有 3 列。在数据库中,它们是 1 个 nvarchar(max) 和 2 个 varchar(max)。我已经尝试过文本流 dt_text 和文本流 dt_ntext 但都没有。想法?
  • 这是您在这里询问的同一个问题/包,现在这个问题被排除了吗? stackoverflow.com/questions/29931411/…
  • 我制作了两个不同的软件包来完成相同的工作,尝试了不同的方法,但由于不同的原因仍然失败。因此,如果可能的话,我想保留这两个问题,直到其中一个包起作用。

标签: sql-server ssis export-to-excel


【解决方案1】:

问题是 Excel 2007 的字段长度限制为 255。两种选择是将目标文件类型切换为 97-2003,或者添加派生列任务以截断(子字符串)字段,这会丢失数据。可能还有另一个选项与错误处理和将行转储到平面文件或其他东西有关。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多