问题: 在使用SQLServer导入Excel数据时,只成功导入部分数据,有一小部分数据未导入成功,报如下错误
操作已停止...
- 正在初始化数据流任务 (成功)
- 正在初始化连接 (成功)
- 正在设置 SQL 命令 (成功)
- 正在设置源连接 (成功)
- 正在设置目标连接 (成功)
- 正在验证 (成功)
- 准备执行 (成功)
- 执行之前 (成功)
- 正在执行 (成功)
- 正在复制到 [dbo].[tableTemp] (错误)
消息
* 错误 0xc0202009: 数据流任务 1: SSIS 错误代码 DTS_E_OLEDBERROR。出现 OLE DB 错误。错误代码: 0x80004005。
已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 11.0” Hresult: 0x80004005 说明:“未指定的错误”。
(SQL Server 导入和导出向导)
* 错误 0xc020901c: 数据流任务 1: 目标 - tableTemp.输入[Destination Input] 上的 目标 - tableTemp.输入[Destination Input].列[单号] 出错。返回的列状态是:“该值违反了该列的完整性约束。”。
(SQL Server 导入和导出向导)
* 错误 0xc0209029: 数据流任务 1: SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。“目标 - tableTemp.输入[Destination Input]”失败,错误代码为 0xC020907D,而且针对“目标 - tableTemp.输入[Destination Input]”的错误行处理设置指定一旦出错就失败。在指定组件的指定对象上出错。可能在此之前已经发出错误消息,提供了有关失败的详细信息。
(SQL Server 导入和导出向导)
* 错误 0xc0047022: 数据流任务 1: SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。处理输入“Destination Input”(30)时,组件“目标 - tableTemp”(17)的 ProcessInput 方法失败,错误代码为 0xC0209029。标识的这个组件从 ProcessInput 方法返回了一个错误。虽然该错误是此组件特有的,但却是致命的,将导致数据流任务停止运行。可能在此之前已经发出错误消息,提供了有关失败的详细信息。
(SQL Server 导入和导出向导)
- 执行之后 (成功)
消息
* 信息 0x4004300b: 数据流任务 1: “目标 - tableTemp”已写入 112572 行。
(SQL Server 导入和导出向导)
比对数据发现只导入成功108882条数据,Excel中实际数据为112572条。
解决办法:
多次 重试发现是因为数据列单元格带有格式,只要重新复制一份无格式的数据即可。
Excel操作: 复制----->选择要粘贴的区域----->选择性粘贴----->‘数值’