0

我正在使用表单 [32 位] 版本 6.0.8.26.0

在 Oracle Forms 触发器中,我使用 host 命令调用带有参数的 url。我的这部分代码的示例如下:

HOST('cmd /c start http://localhost/TestServlet?p1=A&p2=B');

但是浏览器是使用输出 url 调用的,该 url 一直显示到 & 符号并停止:

http://localhost/TestServlet?p1=A

关于如何使用 Oracle 表单中的 HOST 命令获取完整 url 的任何建议

4

4 回答 4

0

replace spaces by %20 and use ^&

于 2013-10-26T07:32:26.307 回答
0

&用于分隔命令。因此我们可以使用^来逃避&

于 2013-03-10T10:27:31.913 回答
0

尝试丢失“cmd /c”。

这对我有用:

PROCEDURE call_url_from_forms6i(i_user_id           varchar2
                               ,i_section_id        varchar2) is
  /* http://stackoverflow.com/questions/15320620/using-host-command-to-call-a-url-with-parameters-in-oracle-forms */                               
  p_user_id      varchar2(200) := '&P_USER_ID='||nvl(i_user_id,'1');
  p_section_id   varchar2(200) := '&P_SECTION_ID='||nvl(i_section_id, '0');
  p_report_name  varchar2(200) := '&report_name=REPNAME';  
  p_url         varchar2(200) := 'http://website.com/folder/';
  v_servlet_name varchar2(200) := 'servletname?';
  p_report       varchar2(200) := 'report=REPORT';    
  p_url_hdr      varchar2(200) := p_url||v_servlet_name;
  p_url_params   varchar2(2000);
  p_url_host_call varchar2(2000);
BEGIN
  p_url_params := p_report||p_user_id||p_section_id||p_report_name;
  --display in browser
  p_url_host_call := 'start "" "'||p_url_hdr||p_url_params||'"';
  host(p_url_host_call);
EXCEPTION 
  WHEN OTHERS THEN
    --message('Error running report in browser: '||sqlerrm);pause;
    return;
END;
于 2015-01-15T22:00:01.393 回答
0

您可以替换&%26内部 URL

于 2013-03-10T09:19:46.077 回答