Excel 连接管理器的 SSIS 包问题

Posted

技术标签:

【中文标题】Excel 连接管理器的 SSIS 包问题【英文标题】:SSIS Package Issue with Excel Connection Manager 【发布时间】:2015-07-10 18:49:12 【问题描述】:

在我的本地机器上,SQL 作业运行良好。在 SQL 作业中,有一个 SSIS 包,它抓取 Excel 数据并加载到暂存表中。我的系统中有 Microsoft Excel 2010

现在问题出在开发服务器上。 具有相同 SSIS 包的相同作业在网络文件夹中运行时出现问题。开发服务器包含一个 Excel 2013

我没有足够的声誉来显示错误消息的屏幕截图。这是错误的说法。

Description: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. 
Error code: 0x80004005.  An OLE DB record is available.  Source: "Microsoft Office Access Database Engine"  
Hresult: 0x80004005  Description: "External table is not in the expected format.".  
End Error  Error: 2015-07-10 14:16:05.52     
Code: 0xC020801C     
Source: Data Flow Task Excel Source [2]     
Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.  The AcquireConnection method call to the connection manager "Excel Connection Manager" failed with error code 0xC0202009.  There may be error messages posted before this with more information on why the AcquireConnection method call failed. 

Error: 2015-07-10 14:16:05.52     
Code: 0xC0047017     
Source: Data Flow Task SSIS.Pipeline     
Description: Excel Source failed validation and returned error code 0xC020801C.  

Error: 2015-07-10 14:16:05.52     
Code: 0xC004700C     
Source: Data Flow Task SSIS.Pipeline     
Description: One or more component failed validation

【问题讨论】:

1) 它包含一个 Excel 文件路径。 \\nwhfile1\nwh\SharedPrivateFolders\IT_Finance\ITProgramming_FinanceAccounting\BOA_Cleared_test\nhllc_paid_chks.xlsx 和 Excel 2007 版 服务器之间使用的是同一个文件吗? 可能重复http://***.com/questions/1139390/excel-external-table-is-not-in-the-expected-format 【参考方案1】:

还有两件事 1) 确保您的 excel 文件未打开 2) ssis 不能在 64 位模式下使用 excel,将您的部署设置更改为使用 32 位运行时(如果您使用的是 sql 作业,请检查设置)

【讨论】:

查看此网址了解如何指定 32 位驱动程序codeproject.com/Articles/534651/…

以上是关于Excel 连接管理器的 SSIS 包问题的主要内容,如果未能解决你的问题,请参考以下文章

无法在 SSIS 2017 中的 excel 连接管理器上使用表达式

SSIS Excel 连接管理器无法连接到源

SSIS初学

SSIS Excel 连接管理器:文件只能在选择了错误的 Excel 版本时才能读取

SSIS 包顽固的平面文件连接管理器

SSIS动态excel阅读