BIDS - 写入Excel 2007(xlsx)文件时SSIS中的OLEDB连接错误

时间:2016-05-17 05:22:18

标签: ssis bids oledbconnection

在过去的几天里,我遇到了一个众所周知的错误,但即使在阅读了很多不同的解决方案后,我也无法理解我需要做什么。但请让我从任务开始。

前任使用4到5年前的SQL Server数据工具(2005)创建了一个业务关键型SSIS包,它基本上读取数据库中的一个大表,然后分类地分离数据并将数据泵入同一数据库中的单独表。最后,它从这些隔离/分类数据表中读取数据,并将数据导出到同一文件夹中的网络驱动器中的相应Excel文件中。所有这些表都有不同的数据字典。所有这些Excel文件都是97-2003格式(.xls)。

生产服务器是SQL 2005和Windows 2003.使用SQL Server 2012和Windows 2012创建了一个新的开发环境,我需要迁移所有数据库,SQL作业,SSIS包。他们中的大多数已经完成并且没有问题。我将复杂的SSIS包留给了最后一个,所以我可以提供一些东西给企业进行测试。

现在我的任务是升级程序包以写入Excel 2007 xlsx文件。数据库级别没有任何更改。因此,我为所有Excel文件创建了OLE DB连接,并且在单击“连接”对话框中的“测试连接”时,连接似乎正常工作。所有这些Excel文件都位于Dev SQL Server中与SSIS包位于同一文件夹(\ DevServer \ p $ \ SSIS_Jobs \ Process_Data)中。我在连接管理器中设置了Extended Properties = Excel 12.0 XML。但是当我在BIDS中运行包时,我得到了

"无法获得连接" Excel07_Con1"。可能未配置连接,或者您可能没有此连接上的权限。"

软件包设置为32位模式,MSOffice安装为32位,并安装了Microsoft Access数据库引擎2010(32位)驱动程序。 Dev Network驱动器拥有EveryOne to ReadWrite的完全权限。

由于这是该过程的最后一步,因此整个工作都失败了。我确实经历了很多类似问题的回答。任何帮助都将受到高度赞赏。

谢谢 - Madhu

2 个答案:

答案 0 :(得分:1)

你检查过项目属性吗?可能是BIDS中的项目将以下属性Runas64Bit设置为TRUE。

答案 1 :(得分:0)

感谢您的回复,我通过在SSDT2012中从头开始重新创建包来解决了这个问题。现在包正在运行。我怀疑它可能是Excel驱动程序。

再次感谢您的时间。 - Madhu