我正在使用Forms [32位]版本6.0.8.26.0
在Oracle Forms触发器中,我使用host命令调用带参数的url。我的代码的这部分示例如下:
HOST('cmd /c start http://localhost/TestServlet?p1=A&p2=B');
但是使用输出url调用浏览器,直到&符号并停止:
http://localhost/TestServlet?p1=A
有关如何使用oracle表单中的HOST命令获取完整URL的任何建议
答案 0 :(得分:0)
您可以将&
替换为网址
%26
答案 1 :(得分:0)
&
用于分隔命令。因此,我们可以使用^
来转义&
答案 2 :(得分:0)
用%20替换空格并使用^&
答案 3 :(得分: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;