2009-04-14 68 views
18

我有一个SSIS包,它读取Excel文件(数据流源)并使用OLEDB目标数据流项将数据传输到SQL Server。用于目标的OLEDB连接管理器被配置为使用Windows身份验证。该软件包在我的开发机器上工作正常。但是,当我打开另一台机器上相同的封装,并尝试执行它给出了验证阶段以下错误AcquireConnection方法调用连接管理器<Excel连接管理器>失败,错误代码0xC0202009

Error: 0xC020801C at DFT_NSOffers, Source - 'Subscription Offers$' 1 [347]: The AcquireConnection method call to the connection manager "ExcelConnection_NSOffers" failed with error code 0xC0202009. Error: 0xC0047017 at DFT_NSOffers, DTS.Pipeline: component "Source - 'Subscription Offers$' 1" (347) failed validation and returned error code 0xC020801C. Error: 0xC004700C at DFT_NSOffers, DTS.Pipeline: One or more component failed validation. Error: 0xC0024107 at DFT_NSOffers: There were errors during task validation

我使用SQL Server 2005(版本 - 9.0.1399)

我如何解决这个问题?我是否需要安装任何其他组件或服务包?

回答

17

我不认为这是64/32位错误。我的开发机器和数据库服务器是32位。但我可以让它工作。我必须将数据流任务的延迟验证属性设置为TRUE。

+4

我有一个非常类似的问题 - 我没有移动机器,只是文件夹Excel文件的位置(作为从配置文件中提取Excel Connection Manager连接字符串的初始测试)。这解决了我的问题。 – RolandTumble 2009-08-10 18:43:01

+0

谢谢。更多细节在这里:http://blogs.msdn.com/b/ramoji/archive/2009/03/10/the-acquireconnection-method-call-to-the-connection-manager-failed-with-error-code -0xc0202009.aspx – PeterX 2014-01-02 05:39:03

3

64/32位错误?我发现这是一个问题,因为我的开发机器是32位和生产服务器64位。如果是这样,您可能需要直接从命令行调用32位运行时。

此链接说它好(没有64位驱动程序JET):http://social.msdn.microsoft.com/forums/en-US/sqlintegrationservices/thread/da076e51-8149-4948-add1-6192d8966ead/

+0

我的问题是32/64位。相同的错误消息。我有一个32位的ODBC源设置,与它斗争了几个小时,添加了一个64位系统源,并且我的ssis包完美运行了 – Kyle 2012-10-09 22:02:03

2

我终于能够解决“Excel连接问题”在我的情况下,它不是像他们中的一些遇到的64位问题,我注意到当我没有启用程序包配置时程序包工作正常,但我想要我的包使用配置文件运行,进一步挖掘它,我注意到我选择了所有可用的属性,我没有选择所有的属性,只检查了我需要存储在包配置文件中的属性。和ta dha它的作品:)

1

对我来说,我从网络共享访问我的XLS文件。将我的连接管理器文件移到本地文件夹解决了问题。

0

我重置Excel连接管理器上的延迟验证属性为true,并为我工作。让我们试试看!

+1

这看起来更像评论,而不是答案 – 2014-04-22 08:03:53

2

嗨这可以通过更改项目的prorperty在解决方案资源管理来解决,然后给“假”,以64位运行选项

0

我有类似的问题,只是高强是在我的情况下目标,而不是源作为在原始问题/问题的情况下。我花了几个小时来解决这个问题,但看起来最终Soniya Parmar为我节省了这一天。我已经设定了工作,并且已经让它运行了很少的迭代,现在一切都很好。根据她的建议,我将Excel连接管理器的延迟验证设置为“True”。谢谢Soniya

-5

为了解决这个问题,使所有的数据流任务在一个序列。这意味着它不应该并行执行。一个数据流任务序列应该只包含一个数据流任务,并且该序列应该包含另一个数据流任务。

例如: -

enter image description here

1

在我的情况下,问题是,我通过配置SQL服务器作业的性能解决了32/64位驱动程序:

enter image description here

0

为我设置RetainSameConnection属性为True。

0

我有类似的问题,试图从Excel电子表格加载数据;并在WinX64上运行。所以我去了VS BI的项目属性:配置属性\ Dbugging 和开关Run64BitRuntime从True到False。 它的工作。