从 BizTalk Orchestration 调用 SSIS

发布于 2024-08-25 04:12:05 字数 309 浏览 11 评论 0原文

我有一个场景,我需要移动大量数据,并且需要使用 BizTalk 来控制流程并包含业务逻辑。问题是 BizTalk 将无法处理需要移动的数据量。

我们决定使用 BizTalk Orchestration 来启动 SSIS 包来完成实际的繁重工作。但是,有一个警告,我们必须能够将信息传递到 SSIS,例如文件位置和有关如何拆分某些数据的信息。

我的问题是,在给定这些参数的情况下,从 Orchestration 调用 SSIS 的最佳方法是什么?我应该围绕它构建一个网络服务吗?是否有我可以调用的适配器或存储过程?或者有没有办法直接从 Orchestration 中调用它?

I have a scenario were I need to move a vast amount of data, and I need to use BizTalk to control the flow and contain the business logic. The problem is that BizTalk will not be able to handle the amount of data that needs to be moved.

We have decided to a BizTalk Orchestration to kick off an SSIS package that does the actual heavy lifting. However, there is a caveat in that we have to be able to pass information into SSIS such as file location and info about how to split certain data up.

My question is, what is the best way to call into SSIS from an Orchestration given those parameters? Should I build a webservice around it? Is there an adapter or stored procedure that I can call? Or is there a way to call it directly from the Orchestration?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

云雾 2024-09-01 04:12:05

您可能只想将带有静态方法的 C# 类添加到项目中,并调用标准代码来启动 SSIS 包:

http://www.codeproject.com/KB/database/CallSSISFromCSharp.aspx

http://msdn.microsoft.com/en-us/library/ms136090.aspx

只需从您的业务流程中调用该方法即可。

You may want to simply add a C# class with a static method to your project and call the standard code to kick off an SSIS package:

http://www.codeproject.com/KB/database/CallSSISFromCSharp.aspx

http://msdn.microsoft.com/en-us/library/ms136090.aspx

Simply call the method from your orchestration.

↙温凉少女 2024-09-01 04:12:05

我们最终需要将变量传递给 SSIS 包,以便让它与启动它的编排相关联。此外,我们需要使用相同的编排,但让它根据接收位置启动不同的 SSIS 包。

我们最终得到了这样的解决方案:

  1. 编排调用带有两个参数的存储过程:相关 GUID 和接收位置。
  2. 存储过程将所需的值存储在 SSIS 配置表中。
  3. 调用 SQL Server 代理作业。
  4. 存储过程在适当的作业运行 SSIS 作业时
  5. SSIS 作业成功完成或出现错误,并将结果写入具有相关 GUID 的 XML 文件。
  6. BizTalk 选取 XML 文件并与 GUID 进行关联。
  7. BizTalk 根据需要处理任何错误处理。

我们的同事对此解决方案编写了更详细的解释 这里,适合任何感兴趣的人。

We ended up needing to pass variables to the SSIS package in order to have it correlate back to the orchestration that had launched it. Also we needed to use the same orchestration but have it launch different SSIS packages based on the receive location.

We ended up with a solution like this:

  1. Orchestration calls a Stored Procedure with two parameters: correlation GUID, and receive location.
  2. Stored procedure stores needed values in SSIS config table.
  3. Stored procedure calls SQL server Agent Job as appropriate
  4. Job runs SSIS job
  5. SSIS Job finishes successfully or has errors and writes the result to an XML file with the correlation GUID.
  6. BizTalk picks up the XML file and correlates on the GUID.
  7. BizTalk handles any error handling as need.

Our colleague has written an much more detailed explanation of this solution here, for anyone who is interested.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文