【问题标题】:SSIS tasks executing in the wrong orderSSIS 任务以错误的顺序执行
【发布时间】:2012-10-19 10:43:01
【问题描述】:

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

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

  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 )(管理程序)

[/编辑]

[更新]

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


【解决方案1】:

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

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

【讨论】:

  • 是的,这就是我注意到的(见第一个答案的最后评论),但谢谢:)
  • 好的,但不是输出顺序错误,这就是它的本意(从逻辑的角度来看,它可能是“错误的”,但这不是你的问题,每个人都是这样)
  • 是的。我不知道为什么我期望它按逻辑顺序排列。我怎么了??感谢您的更新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多