【问题标题】:SSIS loading Excel fileSSIS 加载 Excel 文件
【发布时间】: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 个不同的文件上。

感谢您的帮助。

【问题讨论】:

    标签: sql-server excel ssis etl ssis-2016


    【解决方案1】:

    错误可能的解决方案

    1. 您必须将IMEX=1; 添加到您的 excel 连接字符串中,以帮助 excel 正确识别数据类型
    2. OLE DB Source 适配器的DelayValidation 属性设置为True
    3. 尝试从工作表和 Excel 文件名中删除空格

    从第 8 行读取

    假设您有 4 列

    1. 在DataFlow Task中,双击excel source 将source设置为SQL Command
    2. 使用以下命令:SELECT * FROM [R0270 Cases$A8:D],因此它将从第 8 行开始读取 D 表示 excel 中的第 4 列)

    参考文献

    【讨论】:

    • 有效!谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多