SSIS 中用于 Web 服务调用的异步脚本组件

发布于 2024-11-13 07:43:44 字数 281 浏览 1 评论 0原文

我必须为以下场景创建一个 SSIS 包。首先,我必须进行数据库查询。查询返回一组 Id。对于每个 Id ,我必须执行一个 Web 服务调用,该调用将进一步按顺序调用一些 wcf 服务。
从数据库返回的 id 集合非常大。如果我依次对每个 Id 进行 Web 服务调用,则将花费大量时间。所以,基本上我需要对网络服务进行异步调用。
我认为解决此问题的唯一方法是使用 SSIS 的异步脚本组件来调用 Web 服务。另一种方法是在同步脚本组件的线程内调用 Web 服务。
解决问题的正确方法是什么或者还有其他更好的方法吗?

I have to create a SSIS package for the following scenario. First, I have to do a database query . A set of Ids is returned from the query. For each Id , I have to do a web service call which will further call some wcf services sequentially.

The set of ids returned from the database is very large. If I do a web service call for each Id sequentially , it will take a lot of time. So, basically I need to make async call to web service.

Only way I see to solve this problem is to use asynchronous script component of SSIS for calling the web service. Other way would be to call the web service inside a thread in the synchronous script component.

What is the right way to solve the problem or there is any other better approach?

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

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

发布评论

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

评论(1

夏末 2024-11-20 07:43:44

试试这个:

  • 将 ID 拉入 SQL Server 中的“队列”表中
  • 创建 N 个数据流组件。
  • 让每个数据流组件从队列中提取一个 ID 并进行调用。

如果您创建 8 个数据流组件,则可以并行运行 8 个查找。每一个完成后都会有一个 id。

以下是该框架的一些参考:

Try this:

  • Pull the IDs into a 'queue' table in SQL Server
  • Create N dataflow components.
  • Have each dataflow component pull an id from the queue and make the call.

If you create 8 dataflow components, you can run 8 lookups in parallel. Each one will take an id when it is complete.

Here are some references for the framework:

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