【问题标题】:SQL Server 2008 R2 - Custom SSIS Components work in BIDS not in SQL Server AgentSQL Server 2008 R2 - 自定义 SSIS 组件在 BIDS 中工作,而不是在 SQL Server 代理中工作
【发布时间】:2015-05-01 20:15:34
【问题描述】:

我们开发了与在线 REST API(准确地说是 Shopify)集成的自定义 SSIS 组件,这些组件在 BIDS 中以及每次都能正常工作。但是,当我为使用组件的 SSIS 包创建 SQL Server 代理作业时,某些组件不起作用,没有错误,只是从未命中 Pre Execute。不起作用的组件调用 REST API 并在某些订单上设置特定的 TAGS,它们使用 JSON 来完成。 SQL Server 代理在同一台机器(我自己的)上运行,它正在执行与 BIDS 相同的 SSIS 包。没有错误,并且 SQL Server JOB 报告成功。

我的机器是 64 位设置的,所以很明显代理将以 64 位运行,因此可能存在问题。

这是我已经尝试过的

  • 更改了 SQL Server 代理用户以消除代理/用户问题。
  • 将步骤的设置更改为使用 32 位运行时(勾选“使用 32 位运行时”)
  • 我曾尝试使用 Any CPU x86 x64 编译我的代码 .. 结果不同,但它们都不起作用等
  • 安装项目(这是解决方案的一部分)是一个 WIX 工具集项目,只能使用 x86 进行编译,我认为我无法更改。
  • 记录到日志文件的位置。

我认为这可能是 32 位/64 位问题,但也可能是错误的。日志文件显示以下内容 从 BIDS 调用时(有效) • 验证(以 32 位运行的代码) • 验证(以 32 位运行的代码) • 点击预执行,之后一切正常

从 SQL Server 代理调用时(不起作用)

• 验证(以 32 位运行的代码) • 验证(以 64 位运行的代码) • 从不点击预执行

就像我说的,我怀疑这是 64 位问题,但可能是错误的。

【问题讨论】:

  • 您错过了两个重要信息:1. SQL 代理是在您的机器上还是在不同的机器上? 2. 错误信息是什么? (你说不工作这是一个非常糟糕的描述)
  • 查看带有 SQL 代理的机器上的 SSIS 版本以及 BIDS 版本。
  • 谢谢。 SQL Server 代理在同一台机器(我自己的)上运行,它正在执行与 BIDS 相同的 SSIS 包。没有错误,包成功但从未命中自定义组件上的 Pre Execute。
  • 您是否从日志中计算出预执行?它是否会针对其他任务执行预执行?它是否会针对其后的任务执行预执行(带有成功/失败约束?)您可能需要放置一些虚拟的进行测试。 SSIS 可能不是适合这项工作的工具。任何工具都可以将数据插入数据库 - 不必是 SSIS。
  • 是的,从日志中计算出来,上面有一个自定义组件可以正常工作,即点击预执行。这是最后一项任务,所以它不会继续下去,但我会尝试像你说的那样放置虚拟的(明天早上现在)。我认为在这种情况下,SSIS 是我们唯一的选择,因为它与 2 个不同的数据源通信,并且这些自定义组件一直在使用 API 下载订单,将它们设置为发货......等等。我想我可能不得不求助于脚本任务,但这是我最后的选择。

标签: ssis sql-server-2008-r2 shopify custom-component


【解决方案1】:

我意识到这个问题已经很老了,但我想我会回答。我刚刚遇到了这个问题,答案是 SSIS 引擎没有看到自定义组件做任何事情,所以它在运行时删除了该组件。我可以通过将控制流对象的 RunInOptimizedMode 属性更改为 False 来解决这个问题。在此之后,我能够将 SSIS 包作为 SQL 代理作业运行。

如果您按照 cmets 中建议的 bilinkc 通过 dtexec.exe 运行包,它应该会向您提供消息,让您在发生这种情况时一目了然。

【讨论】:

  • 感谢您的回答
【解决方案2】:

大家好,很抱歉没有发布答案。

首先感谢您提供的所有帮助,尤其是 Nick McDermaid,因为您一直在尝试和尝试。我真的很感激你的指点,没有他们我就不会解决它(有点解决它:o))。

我的 SSIS 自定义组件仅在我从中获得“成功路径”时才起作用。这只是这个特定场合的一个问题,因为它是我的数据流中调用的最后一个组件。

这可能归结为我的 SSIS 自定义组件中的一个错误,但我确信我过去曾在其他组件中遇到过这个问题(我认为它可能是“发送邮件任务”)。

如果有人再次遇到这个问题,我很乐意听取他们的意见。

我目前正在工作中灭火,所以没有机会再次查看 SSIS 自定义组件。

再次感谢您的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多