0

下面的函数在执行时应该发送一条短信。实际上,我几乎没有与 Oracle 合作 8 年多,并且使用 MySQL。有人可以帮助我如何在 Oracle 中执行以下功能。我已经安装了 Oracle 10g 并创建了这个函数,但不知道如何保存和执行它。sendsms.php是我服务器中的一个页面,负责从 Oracle 函数数据中获取帖子并发送消息。

Create or replace function Send_MSG
    ( 
    P_User_Name in varchar2,
    P_Password  in varchar2,
    P_numbers   in varchar2,
    P_Sender    in varchar2,
    P_msg       in varchar2,
    P_dateSend  in varchar2 default 0, 
    P_timeSend  in varchar2 default 0,
    P_deleteKey in varchar2,
    P_msgKey    in varchar2
    )
    Return varchar2 is
    Begin

    Return 'http://www.mywebsite.com/sendsms.php?mobile='||P_User_Name||'&'||'password='||P_Password||'&'||'numbers='||P_numbers||'&'||'sender='||P_sender||'&'||'msg='||xx_unicode(P_msg)||'&'||'dateSend='||nvl(P_dateSend,0)||'&'||'timeSend='||nvl(P_timeSend,0)||'&'||'msgId='||P_msgKey||'&'||'applicationType=24';


    End Send_MSG;
4

1 回答 1

1

如果您希望 oracle 转到该 url 并从中获取输出,则只需将您的返回行更改为:

return utl_http.request(
'http://www.mywebsite.com/sendsms.php?mobile='||P_User_Name||'&'||'password='||P_Password||'&'||'numbers='||P_numbers||'&'||'sender='||P_sender||'&'||'msg='||xx_unicode(P_msg)||'&'||'dateSend='||nvl(P_dateSend,0)||'&'||'timeSend='||nvl(P_timeSend,0)||'&'||'msgId='||P_msgKey||'&'||'applicationType=24');

ps如果需要设置代理,需要调用

utl_http.set_proxy('your-proxy:port', '');

在返回之前。

于 2013-01-21T10:48:10.457 回答