1

我有一个包含 4 个执行 SQL 任务和一个数据流任务的包。

SSIS 任务序列

该序列是使用优先约束定义的,应该是:

  1. (SQL) 创建表(如果不存在)
  2. (SQL) 创建备份表
  3. (SQL) 备份和清除
  4. (DF) 导入团队数据
  5. (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) o​​n Windows NT 6.1 (Build 7601: Service Pack 1) (Hypervisor) )

[/编辑]

[更新]

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]

4

1 回答 1

2

你为什么要说它按那个顺序运行?我可以向您保证,根据您的打印屏幕,任务 3 不可能在任务 1 之前运行。

如果您认为这是因为您查看输出的方式(您的最后一个屏幕),那么您正在以错误的方式查看它。它不显示任务执行的顺序,它单独显示每个任务(我什至认为它们是按字母顺序排列的)。还要注意任务的类型,你PREPARE的 sql 任务 1 在 13:57:04 完成,而 pacakgeEXECUTE在 13:57:06 完成,对我来说似乎是正确的顺序

于 2012-10-19T13:12:35.560 回答