SSIS 加载 Excel 文件
Posted
技术标签:
【中文标题】SSIS 加载 Excel 文件【英文标题】:SSIS loading Excel file 【发布时间】:2018-01-19 22:23:21 【问题描述】:这是我第一次使用 SSIS,我收到了这个错误。
使用: VS 2015,Excel 2010
来自 HRESULT 的异常:0xC02020E8 数据流任务 [Excel 源 [1]] 出错:SSIS 错误代码 DTS_E_OLEDBERROR。 发生 OLE DB 错误。错误代码:0x80004005。
数据流任务 [Excel 源 [1]] 出错:打开“'R0270 Cases$'”的行集失败。检查对象是否存在于数据库中。
excel文件的前7行是标题信息。第 8 行有列标签,数据从 9 开始。
Excel 源代码编辑器:
数据访问模式:表格或视图
Excel 工作表下拉菜单,前 30 秒出错,然后填充工作表名称。
任何线索发生了什么以及如何跳过前 7 行。我有 100 多个 excel 文件,同样的事情发生在 8 个不同的文件上。
感谢您的帮助。
【问题讨论】:
【参考方案1】:错误可能的解决方案
-
您必须将
IMEX=1;
添加到您的 excel 连接字符串中,以帮助 excel 正确识别数据类型
将OLE DB Source
适配器的DelayValidation
属性设置为True
。
尝试从工作表和 Excel 文件名中删除空格
从第 8 行读取
假设您有 4 列
-
在DataFlow Task中,双击excel source 将source设置为SQL Command
使用以下命令:
SELECT * FROM [R0270 Cases$A8:D]
,因此它将从第 8 行开始读取 (D
表示 excel 中的第 4 列)
参考文献
load multiple data from excel to sql SSIS Importing excel files having variable headers【讨论】:
有效!谢谢以上是关于SSIS 加载 Excel 文件的主要内容,如果未能解决你的问题,请参考以下文章
SSIS - 加载多个 Excel 文件:第一个文件搞砸了,其余的都是正确的
如何遍历 Excel 文件并使用 SSIS 包将它们加载到数据库中?
无法使用 SSIS 快速加载选项从 Excel 源加载 Netezza 中的数据