首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQLServer2008导入Excel数据报错,该怎么解决

2013-04-21 
SQLServer2008导入Excel数据报错本帖最后由 zyz_0420 于 2013-04-14 15:56:47 编辑create table metals(co

SQLServer2008导入Excel数据报错
本帖最后由 zyz_0420 于 2013-04-14 15:56:47 编辑


create table metals
(
company char(10) not null,
category char(20) not null,
subdivide char(20),
broad_heading char(1) not null,
small_category char(2) not null,
material numeric(1,0),
size_range numeric(4,0),
distinguish char(60),
c_code char(8),
coding_note varchar(1000),
primary key(broad_heading,small_category)
)

excel文件:http://pan.baidu.com/share/link?shareid=410092&uk=1745185362

通过导入导出工具导入excel数据时,出现以下错误信息:

操作已停止...

- 正在初始化数据流任务 (成功)

- 正在初始化连接 (成功)

- 正在设置 SQL 命令 (成功)

- 正在设置源连接 (成功)

- 正在设置目标连接 (成功)

- 正在验证 (成功)
消息
* 警告 0x80047076: 数据流任务 1: 数据流任务中后来没有用过输出“Excel 源输出”(9)和组件“源 - metals$”(1)的输出列“F11”(45)。删除此不用的输出列可以提高数据流任务的性能。
 (SQL Server 导入和导出向导)


- 准备执行 (成功)

- 执行之前 (成功)

- 正在执行 (成功)

- 正在复制到 [dbo].[metals] (错误)
消息
* 错误 0xc0202009: 数据流任务 1: SSIS 错误代码 DTS_E_OLEDBERROR。出现 OLE DB 错误。错误代码: 0x80004005。
已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 10.0” Hresult: 0x80004005 说明:“未指定的错误”。
 (SQL Server 导入和导出向导)

* 错误 0xc020901c: 数据流任务 1: 输入“Destination Input”(60) 上的 输入列“company”(122) 出错。返回的列状态是:“该值违反了该列的完整性约束。”。
 (SQL Server 导入和导出向导)

* 错误 0xc0209029: 数据流任务 1: SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。“输入“Destination Input”(60)”失败,错误代码为 0xC020907D,而且针对“输入“Destination Input”(60)”的错误行处理设置指定一旦出错就失败。在指定组件的指定对象上出错。可能在此之前已经发出错误消息,提供了有关失败的详细信息。
 (SQL Server 导入和导出向导)

* 错误 0xc0047022: 数据流任务 1: SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。处理输入“Destination Input”(60)时,组件“目标 - metals”(47)的 ProcessInput 方法失败,错误代码为 0xC0209029。标识的这个组件从 ProcessInput 方法返回了一个错误。虽然该错误是此组件特有的,但却是致命的,将导致数据流任务停止运行。可能在此之前已经发出错误消息,提供了有关失败的详细信息。
 (SQL Server 导入和导出向导)


- 执行之后 (成功)
消息
* 信息 0x402090df: 数据流任务 1: “组件“目标 - metals”(47)”中的数据插入操作的最终提交已开始。
 (SQL Server 导入和导出向导)

* 信息 0x402090e0: 数据流任务 1: “组件“目标 - metals”(47)”中的数据插入操作的最终提交已结束。
 (SQL Server 导入和导出向导)

* 信息 0x4004300b: 数据流任务 1: “组件“目标 - metals”(47)”已写入 52 行。
 (SQL Server 导入和导出向导)

虽然出现了报错,但数据还是导进去了,在这里就是想问一下,出现此错误是表结构里的字段类型还是由其它原因造成的,还望各位朋友指点一二。 SQL?Server 报错
[解决办法]
我建议你先整理好excel格式,我以前遇到过excel和表的数据行不一致,后来发现我excel计算行的时候包含了表头,所以多了一行,这些都是excel格式的问题而已,另外就是可以先导到一个新表,这样可以避免约束的问题,然后再进行更新匹配等。

热点排行