【问题标题】:Error while importing into table in SQL Server 2008 R2 from Excel File从 Excel 文件导入 SQL Server 2008 R2 中的表时出错
【发布时间】:2015-02-16 14:49:13
【问题描述】:

我在从 Excel 文件导入 SQL Server 2008 R2 中的表时遇到此错误。

我添加了一张图片。

复制到 [dbo].[MultiPLU](错误)消息错误 0xc0202009:数据 流任务 1:SSIS 错误代码 DTS_E_OLEDBERROR。 OLE DB 错误有 发生了。
错误代码:0x80004005。有一条 OLE DB 记录可用。
来源:“Microsoft SQL Server Native Client 10.0”
结果:0x80004005 描述:“声明已终止。”。

OLE DB 记录可用。
来源:“Microsoft SQL Server Native Client 10.0”
结果:0x80004005
说明:“无法将值 NULL 插入到列 'PLUCode'、表 'AR4UWin.dbo.MultiPLU';列不允许空值。插入失败。”。
(SQL Server 导入导出向导)

错误 0xc0209029:数据流任务 1:SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREON错误。 "输入"目标输入" (57)" 失败,因为发生了错误代码 0xC020907B,并且错误行 “输入”目标输入“(57)”的处置指定失败 错误。在指定的指定对象上发生错误 零件。在此之前可能会发布更多错误消息 有关失败的信息。
(SQL Server 导入导出向导)

错误 0xc0047022:数据流任务 1:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。组件上的 ProcessInput 方法 “目标 - MultiPLU”(44)失败,错误代码为 0xC0209029,而 处理输入“目的地输入”(57)。已识别的组件 从 ProcessInput 方法返回错误。错误是具体的 到组件,但错误是致命的,将导致数据流 任务停止运行。在此之前可能会发布错误消息 提供有关失败的更多信息。

(SQL Server 导入和导出向导)

【问题讨论】:

    标签: sql-server excel sql-server-2008-r2


    【解决方案1】:

    导入过程要求“PLUCode”列中的每一行都有一个值,而我认为您的 Excel 电子表格有时在这些单元格中没有值。

    【讨论】:

    • ""Cannot insert the value NULL into column 'PLUCode'" from your error message建议否则
    • 你会不会有团队查看器?
    • 不是我在哪里,不是。我建议您首先检查电子表格中的值,然后检查该列是否正确映射到您的导入定义中
    • 谢谢保罗。我设法导入文件,有重复的字段。但是,我现在需要将表格转换为平面文件。
    【解决方案2】:

    右键单击 PLUCode 并将其设置为允许空值将允许您上传表格。下面的查询将为您提供错误条目以供审核。

    SELECT *
    FROM Tablename
    WHERE PLUCode IS NULL
    

    如果您要处理重复项,我建议您使用自连接来只为您提供唯一的行。 (您需要一些“if”语句来检查具有空值的行,这样您就不会删除整条记录并留下损坏的记录。)我会特别小心使用任何预定义的删除重复项功能(例如在 excel 中)除非您仔细检查了表格以确保它不会删除已完成的行。

    编辑:为了响应保存为平面文件的需要,您需要保存为逗号分隔的 csv 文件。它在通常的文件格式列表中,除非您使用的是 excel 2010,否则它将位于“保存并发送”选项下。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-01
      • 2014-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多