编辑〜我已经在编辑部分回答了我自己的问题,没有回答,因为如果我得到积分回答我自己的帖子我感觉不对= /
我正在尝试找到一种通过URL
将参数传递给此过程的方法 create or replace procedure extinput(KEY in varchar2 := 'KEY',NAME in varchar2 := 'NAME') is
l_apex_url varchar2(4000);
begin
htp.p('Hello extinput');
htp.p(KEY);
--htp.p('NAME');
htp.p(NAME);
--l_apex_url:= 'http://myhost:myport/pls/apex/extinput;
--l_apex_url:= 'google.com';
--owa_util.redirect_url(l_apex_url);
end extinput;
如果我插入网址:
http://horizon.lcc.edu:7777/pls/apex/extinput
进入我的浏览器然后页面发送:
Hello extinput KEY NAME
这对于确认我可以通过URL调用该过程很好,但现在我正在努力将一些变量传递给它的参数。
我想知道是否必须将值放在URL [GET]中(实际上不愿意)或者是否有办法从外部服务器上的表单中重新获取[POST]数据,如下所示:
<form Method="POST" action="http://horizon.lcc.edu:7777/pls/apex/extinput" name="form1">
<P><b>This form has three parameters, which matches the number of parameters the procedure view_http_post_fixed has.</b>
<table><tr><td>Session Id:</td>
<td><input type="text" name="SESSION_ID" value="9582274473829998340"> </td>
</tr>
<tr><td>Key:</td>
<td><input type="text" name="KEY" id="KEY" value="1109"></td>
</tr>
<tr><td>Name:</td>
<td> <input type="text" name="NAME" id="NAME" value="Jeff Eberhard"></td>
</tr></table>
<input value="Submit" type="submit">
</form>
任何帮助或“正确方向的点”都将非常感激=)
$$编辑$$
好的,所以我已成功通过我的pl sql程序传递了数据
create or replace procedure extinput(KEY in varchar2 := 'KEY',NAME in varchar2 := 'NAME')
is
l_apex_url varchar2(4000);
begin
htp.p('Hello extinput');
htp.p(KEY);
htp.p(NAME);
insert into post_table (col2, col3 ) values(KEY, NAME);
end extinput;
得出这个结论让我觉得我让这个问题变得更加复杂。很抱歉,如果是这样,但至少这个问题现在已经解决了。
错误被抛出,因为我发送了3个参数,但只编写了两个参数。因此,要么从表单中删除输入,要么添加第三个参数区域。这是最终确定的表格:
<form Method="POST" action="http://horizon.lcc.edu:7777/pls/apex/extinput" name="form1">
<P><b>This form has three parameters, which matches the number of parameters the procedure view_http_post_fixed has.</b>
<table>
<tr><td>Key:</td>
<td><input type="text" name="KEY" id="KEY" value="1109"></td>
</tr>
<tr><td>Name:</td>
<td> <input type="text" name="NAME" id="NAME" value="Jeff Eberhard"></td>
</tr></table>
<input value="Submit" type="submit">
</form>
答案 0 :(得分:2)
http://awads.net/wp/2005/11/30/http-post-from-inside-oracle/
对此进行了相当冗长的讨论另外,如果您希望在Oracle 11上使用此功能,请不要忘记访问控制列表。
答案 1 :(得分:2)
从你的评论中我相信你可以通过使用分支来解决这个问题,因为你真正想要做的就是在用户提交表单时重定向用户。或者甚至更好,不要分支,只需创建一个提交过程,并定义成功和失败消息 - 不需要单独的页面。
答案 2 :(得分:2)
我认为演示在 http://htmldb.oracle.com/pls/otn/f?p=9487:65可能会回答您的问题。
答案 3 :(得分:0)
好的,所以我已成功通过我的pl sql程序传递了数据
create or replace procedure extinput(KEY in varchar2 := 'KEY',NAME in varchar2 := 'NAME')
is
l_apex_url varchar2(4000);
begin
htp.p('Hello extinput');
htp.p(KEY);
htp.p(NAME);
insert into post_table (col2, col3 ) values(KEY, NAME);
end extinput;
得出这个结论让我觉得我让这个问题变得更加复杂。很抱歉,如果是这样,但至少这个问题现在已经解决了。
错误被抛出,因为我发送了3个参数,但只编写了两个参数。因此,要么从表单中删除输入,要么添加第三个参数区域。这是最终确定的表格:
<form Method="POST" action="http://horizon.lcc.edu:7777/pls/apex/extinput" name="form1">
<P><b>This form has three parameters, which matches the number of parameters the procedure view_http_post_fixed has.</b>
<table>
<tr><td>Key:</td>
<td><input type="text" name="KEY" id="KEY" value="1109"></td>
</tr>
<tr><td>Name:</td>
<td> <input type="text" name="NAME" id="NAME" value="Jeff Eberhard"></td>
</tr></table>
<input value="Submit" type="submit">
</form>