【发布时间】:2015-02-06 00:08:30
【问题描述】:
我有一个 SSIS 包,除了一部分之外,它都经过测试并且工作正常。当我尝试将数据导出到以前在 Lookup 函数中使用的 Excel 文件时,它返回此错误:
[Excel 目标 1 [3340]] 错误:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80040E09。
我已尝试复制文件,然后将数据导出到副本,它工作正常 - 只有在导出到查找中使用的同一文件时才会失败。我有一种感觉,查找功能使用我为它创建的 OLE DB 连接并将其保持打开状态,因此当 Excel 连接管理器尝试访问要在其上写入的文件时,它被拒绝。
我尝试将 OLE DB 与 Excel 文件的连接更改为只读,并在 Lookup 上使用完整缓存和无缓存,但这些都没有帮助。感谢任何建议。
【问题讨论】:
-
您正在尝试使用 Excel 文件作为目标和作为查找源?
-
是的。我试图通过这个来完成的是检查数据库表是否具有excel文件没有的记录(通过使用查找功能),然后将缺少的任何记录添加到excel文件中。所以澄清一下 - Lookup 函数从数据库连接中获取数据流,将其与 Excel 表进行比较,然后获取不匹配的行并将它们提供给 Excel 目标。
标签: ssis export-to-excel