从 BizTalk Orchestration 调用 SSIS
我有一个场景,我需要移动大量数据,并且需要使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可能只想将带有静态方法的 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.
我们最终需要将变量传递给 SSIS 包,以便让它与启动它的编排相关联。此外,我们需要使用相同的编排,但让它根据接收位置启动不同的 SSIS 包。
我们最终得到了这样的解决方案:
我们的同事对此解决方案编写了更详细的解释 这里,适合任何感兴趣的人。
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:
Our colleague has written an much more detailed explanation of this solution here, for anyone who is interested.