Загрузка курсов валют

Last updated 7 months ago

Загрузка курсов валют - exchange rates (Valutaloader)

Пакет Valutaloader позволяет загружать курсы с сайта банков в двух форматах:

- xml - функция load

- csv - функция load_from_csv

При этом структура xml и csv файлов может отличаться от обрабатываемой в процедуре. Нужно будет настраивать процедуру под опр. структуру файла.

Обе функции загружают курсы за один день.Могут быть случаи, когда банк возвращает курс за предыдущую дату, тогда функция добавит эти данные в ту дату, на которую была вызвана.

Для загрузки за период в пакете есть функция LOADING_PERIOD

Параметр tip этой функции определяет каким методом будет идти загрузка.

Для загрузки курсов валют, необходимо дать права схеме на загрузку с определенного веб-ресурса:

Права доступа ACL (для почты и запросов веб.)

-- создаем acl

-- задается адрес сервера и порт, куда идет подключение (localhost:465)

EXECUTE DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('acl_for_get_curs.xml', 'ACL for getting curs', 'DEV', TRUE, 'connect');

-- Добавляем еще привилегии в существующий ACL (например, чтобы дать нескольким схемам права)

EXECUTE DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE('acl_for_get_curs.xml', 'BOX', TRUE, 'connect');

-- допускается добавление нескольких хостов в один acl

EXECUTE DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('acl_for_get_curs.xml', '*.cbpmr.net');

-- проверка, что только что созданный список появился в БД

SELECT host, lower_port, upper_port, acl FROM dba_network_acls

-- просмотр списка пользователей, добавленных в список

select acl, principal, privilege, is_grant, invert from dba_network_acl_privileges