SQL server 导入excel表格
导入教程:
-
数据源:选择“Microsoft Excel”除了EXCEL类型的数据,SQL还支持很多其它数据源类型。
-
选择需要导入的EXCEL文件。点击浏览,找到导入的文件确定。
-
再次确认文件路径没有问题,点击下一步。
-
默认为是使用的WINODWS身份验证,改为使用SQL身份验证。输入数据库密码,注意:数据库,这里看看是不是导入的数据库。也可以在这里临时改变,选择其它数据库。
-
选择导入数据EXCEL表内容范围,若有几个SHEET表,或一个SHEET表中有些数据我们不想导入,则可以编写查询指定的数据进行导入。点击下一步。
-
点击进入下一步。
-
在这里完整显示了我们的导入的信息,执行内容,再次确认无误后,点击完成,开始执行。
-
可以看到任务执行的过程和进度。
-
执行成功:我们可以看看执行结果,已传输1754行,表示从EXCEL表中导入1754条数据,包括列名标题。这样就完成了,执行SQL查询语句:SELECT * FROM price$就可以查看已导入的数据内容。
问题:
1、在步骤4,选择导入excel表格时提示:
未在本非计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。
解决方法:下载安装
http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe
原因:windows中安装的是32位excel
2、注意在备份原表格:
select * into app_backup from [wfcard].[wfcard].[app];
3、在最后一步导入时提示:
正在执行 (错误)消息
错误 0xc02020c5: 数据流任务 1: 在将列“F2”(18)转换为列“F2”(71)时数据转换失败。转换操作返回状态值 4 和状态文本“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。”。
(SQL Server 导入和导出向导)
错误 0xc020902a: 数据流任务 1: “输出列“F2”(71)”由于发生截断而失败,而且针对“输出列“F2”(71)”的截断行处理设置指定截断时出错。在指定组件的指定对象上出现截断错误。
(SQL Server 导入和导出向导)
错误 0xc0047022: 数据流任务 1: SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。处理输入“数据转换输入”(60)时,组件“数据转换 0 - 0”(59)的 ProcessInput 方法失败,错误代码为 0xC020902A。标识的这个组件从 ProcessInput 方法返回了一个错误。虽然该错误是此组件特有的,但却是致命的,将导致数据流任务停止运行。可能在此之前已经发出错误消息,提供了有关失败的详细信息。
(SQL Server 导入和导出向导)
解决方法:
出现数据长度截断错误,忽略,数据依然能成功导入
把“截断时”的处理从“失败”改为“忽略”