вызов API фиксатора в plsql для получения курса валюты - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть API Fixer.io для получения текущего курса валюты, я хочу получить курс в PLSQL.До этого я пытался в Php, чтобы получить скорость.Теперь я хочу вызвать то же самое в PLSQL, чтобы получить текущую скорость.То, что я пробовал в plsql

declare 
 req   UTL_HTTP.REQ;
BEGIN
 req := UTL_HTTP.BEGIN_REQUEST('http://data.fixer.io/api/latest?access_key=access_key');
 UTL_HTTP.SET_HEADER(req, 'User-Agent', 'Mozilla/4.0');
 UTL_HTTP.GET_RESPONSE(req);

 dbms_output.put_line('hitting');

EXCEPTION
 WHEN UTL_HTTP.END_OF_BODY THEN
    dbms_output.put_line('exception');
END;

, оно не работает и дает приведенную ниже ошибку

GET_RESPONSE' is not a procedure or is undefined

Нужно предложение относительно требований

1 Ответ

0 голосов
/ 12 декабря 2018

Проблема в том, что GET_RESPONSE является функцией, а не процедурой, поэтому вам необходимо вернуть ее обратно в переменную, см. https://docs.oracle.com/database/121/ARPLS/u_http.htm#ARPLS70993 для более подробного описания.

Вам нужно будет объявитьпеременная ответа

resp  UTL_HTTP.RESP;

тогда ваш вызов для получения ответа будет выглядеть как

resp := UTL_HTTP.GET_RESPONSE(req);
...