gpt4 book ai didi

Oracle PL/SQL 网络请求并行化

转载 作者:行者123 更新时间:2023-12-02 09:34:25 24 4
gpt4 key购买 nike

我有一个 PL/SQL 脚本,它使用 SYS.UTL_HTTP 通过 HTTP 获取一些 XML 数据。但网络很慢。我会同时打开 5-10 个 HTTP 连接,获取 5-10 个页面并进行处理。如何在 PL/SQL 中并行化这些网络请求?

最佳答案

最简单的选择可能是生成多个数据库作业,并让每个作业进行一部分调用。根据 Oracle 版本,您可以使用 DBMS_JOBDBMS_SCHEDULER 包来生成您自己的作业来执行此操作,即

FOR x IN (SELECT url_to_access FROM table_of_urls)
LOOP
dbms_job.submit( l_jobid,
'BEGIN procedure_to_access_url(' || x.url_to_access || '); END;' );
END LOOP;

但是,如果您使用的是 11.2,Oracle 提供了一个框架,让数据库使用 DBMS_PARALLEL_EXECUTE package 自动将工作分配给许多 DBMS_SCHEDULER 作业。 .

关于Oracle PL/SQL 网络请求并行化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5748551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com