4. 可能會使用到
遇到的問題
提供參考
@restcontroller
("abouttriggercontroller"
)public
class
abouttriggercontroller
}
儲存過程,需要在sql視窗中執行(使用超級管理員使用者執行)。根據自己的需求對裡面的內容進行修改。
principal 變數是授權的賬號,根據自己的情況進行配置。
begin
dbms_network_acl_admin.create_acl (
-- 建立訪問控制檔案(acl)
,-- 檔名稱
,-- 描述
principal =
>
'demo'
,-- 授權或者取消授權賬號,大小寫敏感
is_grant =
>
true
,-- 授權還是取消授權
privilege =
>
'connect'
,-- 授權或者取消授權的許可權列表
start_date =
>
null
,-- 起始日期
end_date =
>
null
-- 結束日期);
--新增訪問許可權列表項
dbms_network_acl_admin.add_privilege (
-- 新增訪問許可權列表項
,-- 剛才建立的acl名稱
principal =
>
'demo'
,-- 授權或取消授權使用者
is_grant =
>
true
,-- 與上同
privilege =
>
'resolve'
,-- 許可權列表
start_date =
>
null
,
end_date =
>
null);
--配置對應ip位址及埠
dbms_network_acl_admin.assign_acl (
-- 該段命令意思是允許訪問acl名為utl_http.xml下授權的使用者,使用oracle網路訪問包,所允許訪問的目的主機,及其埠範圍。
, host =
>
'127.0.0.1'
,-- ip位址或者網域名稱,填寫http://localhost:9000/hello與http://localhost:9000/是會報host無效的
-- 且建議使用ip位址或者使用網域名稱,若用localhost,當oracle不是安裝在本機上的情況下,會出現問題
lower_port =
>
9102
,-- 允許訪問的起始埠號
upper_port =
>
null
-- 允許訪問的截止埠號);
end;
儲存過程,需要在sql視窗中執行。r_url varchar2 變數是要呼叫的 url, 需要自行配置。
;--通過body傳送訊息
);如果需要擴充套件訪問許可權列表項的埠或是想修改主機位址,可以使用以下儲存過程來處理。
begin
dbms_network_acl_admin.assign_acl (
-- 該段命令意思是允許訪問acl名為utl_http.xml下授權的使用者,使用oracle網路訪問包,所允許訪問的目的主機,及其埠範圍。
, host =
>
'127.0.0.1'
,-- 且建議使用ip位址或者使用網域名稱,若用localhost,當oracle不是安裝在本機上的情況下,會出現問題
lower_port =
>80,
-- 允許訪問的起始埠號
upper_port =
>
null
-- 允許訪問的截止埠號);
commit
;end
;
如果開啟 acl 許可權的時候提示說 acl 檔案已經存在,則將 acl 引數的值簡單修改一下,這樣會覆蓋掉原來的資料。
select
*from dba_network_acl_privileges ;
ora-06512: 在 "sys.utl_http", line 368
ora-06512: 在 "sys.utl_http", line 1118
ora-29273: http 請求失敗
ora-24247: 網路訪問被訪問控制列表 (acl) 拒絕
如果使用者並未指定 acl 許可權(訪問控制列表)的話不能直接訪問網際網路,需要執行第 2 步開啟 acl 許可權。
ora-444416: acl 無效: 無法解析的主使用者 '***'
ora-06512: 在 "sys.dbms_network_acl_admin", line 252
ora-06512: 在 line2
在第 2 步 principal 指定的使用者名為小寫就會出現這個問題,改為大寫。
一直傳入英文本元和數字,某天突然傳入中文引數時既沒有呼叫介面也沒有拋異常,首先想到的就是編碼,在服務端(也就是介面中)對中文進行轉碼是沒有效果的。所以只能在 oracle 中進行轉碼,參考相關資料解決方法如下:
create or replace function url_encode(urlencode in varchar2)
return varchar2 as
begin
return utl_url.escape(urlencode, true, 'utf-8');
end;
執行這個指令碼後,在儲存過程中使用這個函式將中文引數進行轉碼即可。 Oracle遠端呼叫函式
實驗環境 庫一 12c prodcdb1 庫二 11g rocky 1.實驗準備 在12c版本的pdb庫prodcdb1中建立乙個普通使用者test oracle host01 oraenv oracle sid prodcdb1 prodcdb oracle host01 sqlplus as s...
erlang rpc 遠端呼叫
跨節點進行遠端呼叫的時候,會經常用到rpc模組提供的方法,例如rpc call rpc cast。那麼每個節點上的rpc模組是怎麼工作的呢?rpc模組的啟動過程很簡單,並沒有初始化做太多事情,以的名稱啟動了乙個gen server程序,這個gen server程序的state是乙個gb trees的...
XML RPC(遠端呼叫)
size large the xmlrpcclient size url 客戶端的配置要設定下面幾個物件。img 例子如下 利用預設的transportfactory的客戶端 片段 public static void main string args throws exception intege...