2016-05-17 114 views
0

过去几天我遇到了一个众所周知的错误,但我无法理解我需要做什么,甚至阅读了很多不同的解决方案之后但请让我从任务开始。BIDS - OLEDB在写入Excel 2007(xlsx)文件时出现SSIS连接错误

一位前任在4-5年前使用SQL Server Data Tools(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文件与SSIS包中的Dev SQL Server位于相同的文件夹(\ DevServer \ p $ \ SSIS_Jobs \ Process_Data)中。我在连接管理器中设置扩展属性= Excel 12.0 XML。但是当我在BIDS中运行程序包时,我得到

“无法获取连接”Excel07_Con1“。连接可能未配置,或者您可能没有正确的权限。

该程序包设置为32位模式,MSOffice安装为32位并安装了Microsoft Access数据库引擎2010(32位)驱动程序。开发网络驱动器对EveryOne的ReadWrite具有完全的权利。

由于这是过程中的最后一步,因此整个工作失败。我确定对类似的问题做了很多回应。任何帮助将不胜感激。

谢谢 - Madhu

+0

可能重复的[SSIS包不能在32位SQL Server 2012中运行](http://stackoverflow.com/questions/28311938/ssis-package-not-running-as-32bit-in-sql-server -2012) – BIDeveloper

+0

您是否以管理员身份重新启动解决方案后尝试过? – bmsqldev

+0

是的,它以管理员身份运行。 – Madhu

回答

0

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

再次感谢您的时间。 - Madhu

1

你有没有检查过项目属性?可能是BIDS中的项目的下列属性Runas64Bit设置为TRUE。

+0

这是我在发布问题之前所做的第一件事情之一。 – Madhu