我有一个SSIS包,它读取Excel文件(数据流源)并使用OLEDB目标数据流项将数据传输到SQL Server。用于目标的OLEDB连接管理器配置为使用Windows身份验证。该程序包在我的开发机器上运行良好。但是当我在另一台机器上打开相同的包并尝试执行它时,在验证阶段出现以下错误
错误:DFT_NSOffers上的0xC020801C,来源 - '订阅商品$'1 [347]:对连接管理器“ExcelConnection_NSOffers”的AcquireConnection方法调用失败,错误代码为0xC0202009。 错误:DFT_NSOffers处的0xC0047017,DTS.Pipeline:组件“源 - '订阅提供$'1”(347)验证失败并返回错误代码0xC020801C。 错误:DFT_NSOffers处的0xC004700C,DTS.Pipeline:一个或多个组件验证失败。 错误:DFT_NSOffers处的0xC0024107:任务验证期间出现错误
我正在使用SQL Server 2005(版本 - 9.0.1399)
我该如何解决这个问题?我是否需要安装任何其他组件或服务包?
答案 0 :(得分:19)
我认为这不是64/32位错误。我的开发机器和数据库服务器是32位。但我可以让它发挥作用。我不得不将数据流任务的延迟验证属性设置为TRUE。
答案 1 :(得分:3)
64/32位错误?我发现这是一个问题,因为我的开发机器是32位,生产服务器是64位。如果是这样,您可能需要直接从命令行调用32位运行时。
此链接说得更好(没有64位JET驱动程序):http://social.msdn.microsoft.com/forums/en-US/sqlintegrationservices/thread/da076e51-8149-4948-add1-6192d8966ead/
答案 2 :(得分:3)
嗨这可以通过在解决方案资源管理器中更改项目的属性然后将“false”赋予64位运行时选项来解决
答案 3 :(得分:2)
我终于能够解决“Excel连接问题”在我的情况下,它不是像他们中的一些人遇到的64位问题,我注意到当我没有启用包配置时,包工作正常,但我想要我的使用配置文件运行的包,进一步挖掘它我发现我已经选择了所有可用的属性,我取消选中所有并且只检查了我需要存储在包配置文件中的那些属性。并且ta dha它工作:)
答案 4 :(得分:1)
对我来说,我正在从网络共享中访问我的XLS
文件。将我的连接管理器的文件移动到本地文件夹修复了该问题。
答案 5 :(得分:1)
在我的情况下,问题是我通过配置sql server作业的属性解决了32/64位驱动程序:
答案 6 :(得分:1)
如果您正在excel源中接收数据预览。但是在执行数据流任务时,您会收到“获取连接”错误。然后将文件移至本地系统,并在excel连接管理器中更改文件路径,然后尝试再次执行。
答案 7 :(得分:0)
我在Excel连接管理器上将延迟验证属性重置为true,它对我有效。让我们试一试!!!
答案 8 :(得分:0)
我有类似的问题,因为excel是我的情况下的目的地,而不是原始问题/问题的情况。我花了好几个小时来解决这个问题,但看起来最终Soniya Parmar为我救了这一天。我已经设定了工作并让它运行了几次迭代,现在一切都很好。根据她的建议,我将Excel连接管理器的延迟验证设置为“True”。谢谢Soniya
答案 9 :(得分:0)
为Excel管理器将RetainSameConnection属性设置为True为我工作。
答案 10 :(得分:0)
我有类似的问题,试图从Excel电子表格加载数据;并在WinX64上运行。所以我去了VS BI的项目属性:Configuration Properties \ Dbugging 并将Run64BitRuntime从True切换为False。 它奏效了。
答案 11 :(得分:0)
我也遇到了同样的错误,它在安装MS office驱动程序并在32位DTEXEC中执行作业后得到解决。现在它工作正常。
您可以从下面获取设置。
https://www.microsoft.com/en-in/download/confirmation.aspx?id=23734
答案 12 :(得分:-5)
要解决此问题,请按一个顺序执行所有数据流任务。这意味着它不应该执行并行。一个数据流任务序列应该只包含一个数据流任务,而另一个数据流任务应该只包含序列。
例如: -