2013-01-20 18 views
0

下面的函數在執行時應該發送一條短信。實際上,我在Oracle工作了近8年多,並且使用了MySQL。有人能幫助我如何在Oracle中執行下面的功能。我已經安裝了Oracle 10g並創建了此功能,但不知道如何保存並執行它。 sendsms.php是我的服務器中的一個頁面,負責從Oracle函數數據中發送消息併發送消息。oracle 10g中的超級函數

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; 
+0

任何答案的傢伙? – alkhader

回答

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'); 

附:如果您需要設置代理服務器,則需要在返回之前致電

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