从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"
Hresult:0x80004005 说明:"声明已终止。"。OLE DB记录可用 来源:" Microsoft SQL Server Native Client 10.0"
Hresult:0x80004005
说明:"无法将值NULL插入列' PLUCode',table' AR4UWin.dbo.MultiPLU&#39 ;;列不允许空值。 INSERT失败。"。
(SQL Server导入和导出向导)错误0xc0209029:数据流任务1:SSIS错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。 "输入"目的地输入" (57)"失败,因为错误代码0xC020907B发生,错误行 处置"输入"目的地输入" (57)"指定失败 错误。指定的指定对象发生错误 零件。在此之前可能会发布错误消息 有关失败的信息 (SQL Server导入和导出向导)
错误0xc0047022:数据流任务1:SSIS错误代码 DTS_E_PROCESSINPUTFAILED。组件上的ProcessInput方法 "目的地 - MultiPLU" (44)失败,错误代码为0xC0209029 处理输入"目的地输入" (57)。确定的组件 从ProcessInput方法返回错误。错误是特定的 到组件,但错误是致命的,将导致数据流 任务停止运行。在此之前可能会发布错误消息 有关失败的更多信息。
(SQL Server导入和导出向导)
答案 0 :(得分:0)
导入过程需要“PLUCode”列中每一行的值,而我相信您的Excel电子表格有时在这些单元格中没有值。
答案 1 :(得分:0)
右键单击PLUCode并将其设置为允许空值将允许您上传表格。下面的查询将为您提供错误的评论条目。
SELECT *
FROM Tablename
WHERE PLUCode IS NULL
如果您正在处理重复项,我建议您自行加入,只为您提供唯一的行。 (你需要一些'if'语句来检查具有空值的行,这样你就不会删除整个记录并留下破坏的记录。)我会非常小心地使用任何预定义的删除重复项功能(如在excel中)除非你仔细检查表格以确保它不会丢弃已完成的行。
编辑:要响应保存为平面文件的需要,您需要将其另存为逗号分隔的csv文件。它是通常的文件格式列表,除非您使用excel 2010,它将在“保存并发送”选项下。