Я хотел бы получить HTML-контент с определенной веб-страницы в моей функции. Я читал, что могу сделать это с помощью пакета UTL_HTML в PLSQL. Поэтому я сделал следующий код в проекте:
v_webcontent := utl_http.request(v_weblink);
Здесь v_webconent и v_weblink объявлены ранее. выполнение этого в функции de дает исключение PLSQL: PLS-00201: identifier 'UTL_HTTP' must be declared
Я думаю, эта проблема связана с тем, что пакет недоступен (по этой ссылке: такое же сообщение об ошибке).
Я последовал совету. Поэтому я создал новое соединение с базой данных в sql-разработчике в качестве роли SYSTEM (SYS не работал, он сказал, что я могу войти в систему только с помощью SYSDBA или SYSOPER, но оба не будут использовать стандартный пароль, который я создал с базой данных). Затем я ввел код по ссылке выше.
GRANT EXECUTE ON SYS.UTL_HTTP TO [database];
Пользователь, которого я создал, называется «База данных». Сначала он дал мне ошибку без квадратных скобок []. Таблица или представление не существуют, поэтому я заключаю их в скобки. Теперь выдает ошибку:
Error starting at line : 1 in command -
GRANT EXECUTE ON SYS.UTL_HTTP TO [database]
Error report -
SQL Error: ORA-00987: missing or invalid username(s)
00987. 00000 - "missing or invalid username(s)"
*Cause:
*Action:
Поэтому я понятия не имею, как это исправить. В приведенной выше ссылке OP сказал, что у него другая ошибка, поэтому я также проверил, не возникла ли у меня такая же проблема. Я вошел:
SELECT * FROM dba_objects WHERE object_name='UTL_HTTP'
Он вернул 4 записи. С владельцами: SYS, SYS, PUBLIC и APEX_040000.
Кто-нибудь может мне помочь? Нужно ли мне входить в систему как SYS и с какими паролями?