gpt4 book ai didi

oracle - Oracle APEX 中 UTL_HTTP 包的问题

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:20:16 26 4
gpt4 key购买 nike

我对 APEX 有疑问。我们有两台服务器。一个(运行 Oracle APEX)是大学服务器,我们只能访问工作区。另一个是我家里的 Linux 计算机,它充当服务器(运行带有 Jasperreports 容器的 Tomcat)。我想从 APEX 机器发送一个 UTL_HTTP 请求到 Jasperreports 机器。有一个按钮,它触发一个过程,代码如下:

 begin  xlib_jasperreports.set_report_url('http://X.X.X.X:8080/JasperReportsIntegration/report');  xlib_jasperreports.show_report (p_rep_name => :p5_rep_name,                                  p_rep_format => :p5_rep_format,                                  p_data_source => :p5_data_source,                                  p_out_filename => :p5_out_filename,                                  p_rep_locale => :p5_rep_locale,                                  p_rep_encoding => :p5_rep_encoding,                                  p_additional_params => :p5_additional_params);  -- stop rendering of the current APEX page  apex_application.g_unrecoverable_error := true;end;

在按下触发按钮 20 到 30 秒后,我收到以下错误消息:

ORA-29273:HTTP 请求失败 ORA-06512:在“SYS.UTL_HTTP”,第 1029 行 ORA-12535:TNS:操作超时

我通过设置一个公共(public) url 检查了 set_report_url 函数。它奏效了。有人知道吗?

提前致谢,汉尼球

最佳答案

后一版本的 Oracle 具有网络 ACL 安全性,因此模式所有者可能没有访问该特定 URL 的权限。但是我预计会违反安全规定。

另一种选择是它被数据库服务器和您的家用计算机之间的防火墙阻止。数据库服务器机器可能(很可能)已设置为仅允许访问一小部分站点(或根本不允许访问)。您的家用计算机上可能还有防火墙,可防止不在 IP 地址/范围列表中的计算机访问。

针对各种网站(例如 google.com 主页)尝试一些基本的 UTL_HTTP 操作,看看您会得到什么响应。


错过了明显的 UTL_HTTP.set_transfer_timeout。可能是这项工作在家庭服务器上花费的时间太长了。

关于oracle - Oracle APEX 中 UTL_HTTP 包的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4638634/

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