Oracle PL/SQL

PL/SQL を使って REST API をコールする方法|Oracle UTL_HTTP

必要なパッケージ

UTL_HTTP

UTL_HTTP パッケージを使えば PL/SQL から HTTP 経由でデータを参照することができる。

UTL_HTTP
UTL_HTTP

docs.oracle.com

DBMS_NETWORK_ACL_ADMIN

DBMS_NETWORK_ACL_ADMIN パッケージを使えばアクセス制御エントリを登録して、一般ユーザでも UTL_HTTP パッケージを使用してデータ参照ができるようになる。

DBMS_NETWORK_ACL_ADMIN
DBMS_NETWORK_ACL_ADMIN

docs.oracle.com

実行例

以下の例では、SCOTT ユーザーに該当 Web サーバーへのアクセス権を付与してから、SCOTT ユーザーで http://xx.xx.xxx.xx:xxxxx/test.json へアクセスをしている。

SQL> BEGIN
    DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
    host => 'xx.xx.xxx.xx',
    ace => xs$ace_type(privilege_list => xs$name_list('http'),
                        principal_name => 'scott',
                        principal_type => xs_acl.ptype_db)
    );
  END;
  /

PL/SQLプロシージャが正常に完了しました。  

SQL> conn scott/tiger
接続されました。

SQL> SELECT UTL_HTTP.REQUEST('xxxx://xx.xx.xxx.xx:xxxxx/test.json') FROM DUAL;

UTL_HTTP.REQUEST('HTTP://xx.xx.xxx.xx:xxxxx/TEST.JSON')
----------------------------------------------------------
{"Name":"New York", "Size":"2398472"}

この記事が役に立ったという方は
ボタンをポチッとしてくれたら喜びます

-Oracle, PL/SQL
-,