【发布时间】:2012-10-19 10:43:01
【问题描述】:
我有一个包含 4 个执行 SQL 任务和一个数据流任务的包。
序列是使用优先约束定义的,应该是:
- (SQL) 创建表(如果不存在)
- (SQL) 创建备份表
- (SQL) 备份和清除
- (DF) 导入团队数据
- (SQL) 删除过时数据
但是,它以 3、2、1、5、4 的顺序运行。
我在网上看到这个可以通过删除任务然后按执行顺序重新添加来解决,所以我这样做了但是结果完全一样!
我还能做些什么来解决它?
[编辑]
SQL 版本是:
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 版权所有 (c) Microsoft Corporation Developer Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1 )(管理程序)
[/编辑]
[更新]
SSIS 包“SERVICEAREATEAMS.dtsx”正在启动。 信息:数据流任务 1 处的 0x4004300A,SSIS.Pipeline:验证阶段开始。 错误:新包中的 0xC0209303,连接管理器“SourceConnectionOLEDB”:SSIS 错误代码 DTS_E_OLEDB_NOPROVIDER_64BIT_ERROR。请求的 OLE DB 提供程序 OraOLEDB.Oracle.1 未注册 - 可能没有 64 位提供程序可用。错误代码:0x00000000。 OLE DB 记录可用。来源:“Microsoft OLE DB 服务组件”Hresult:0x80040154 描述:“类未注册”。 错误:数据流任务 1 处的 0xC020801C,源 - 查询 1:SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器“SourceConnectionOLEDB”的 AcquireConnection 方法调用失败,错误代码为 0xC0209303。在此之前可能会发布错误消息,其中包含有关 AcquireConnection 方法调用失败原因的更多信息。 错误:数据流任务 1 中的 0xC0047017,SSIS.Pipeline:组件“源 - 查询”(1) 验证失败并返回错误代码 0xC020801C。 错误:数据流任务 1 处的 0xC004700C,SSIS.Pipeline:一个或多个组件验证失败。 错误:数据流任务 1 处的 0xC0024107:任务验证期间出现错误。 SSIS 包“SERVICEAREATEAMS.dtsx”完成:失败。
[/更新]
[更新 2]
[/更新 2]
【问题讨论】:
-
在 SSIS 工作了 7 年,我从未见过这种情况发生。您能否指出您使用的关于该问题和重新创建优先约束的解决方案的链接?
-
这是 SQL Server 2005、2008 还是 2008 R2?您正在执行软件包的机器的补丁级别是多少?
SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')如果从 BIDS/Visual Studio 执行,它是否提供相同的行为? -
2008 R2 (RTM)。如果从 VS 执行,它似乎以正确的顺序运行,但数据流任务会引发异常(请参阅更新),即使使用 Execute Package Utility 运行时没有错误。
-
我认为这个例外是一个红鲱鱼,更多的是与 Oracle 驱动程序有关,并且无法找到 64 位驱动程序。然而在现实生活中,只有一个 32 位的可用,所以这是软件包所需的。
标签: ssis