title: Grant UTL_HTTP permission in PLSQL
body: <p>I would like to get HTML content from a certain webpage in my function. I read I can do it with the UTL_HTML package in PLSQL. So I made the following code in the project:</p>
  
  <pre><code>v_webcontent := utl_http.request(v_weblink);
  </code></pre>
  
  <p>Here the v_webconent and v_weblink are declared earlier. running this in de function gives an PLSQL exception: <code>PLS-00201: identifier 'UTL_HTTP' must be declared</code>I guess this problem is because the package isn't available (from this link: <a href="https://stackoverflow.com/questions/26369834/stored-procedure-error-pls-00201-identifier-utl-http-must-be-declared">same error message</a>). </p>
  
  <p>I followed the advice. So I created a new database connection in sql developer as the SYSTEM role (SYS didn't work, it sayd I could only logon using SYSDBA or SYSOPER but both wouldn't take the standard password I created with the database). Then I entered the code in the link above.</p>
  
  <pre><code>GRANT EXECUTE ON SYS.UTL_HTTP TO [database];
  </code></pre>
  
  <p>The user I created is named 'Database'. It first gave me an error without the [] square brackets. Table or view does not exist so I then put the brackets around it. Now it gives error:</p>
  
  <pre><code>    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:
  </code></pre>
  
  <p>So I have no idea how to fix this. In the link above OP said that he got an other error, so I also checked if I didn't have the same problem. I entered:</p>
  
  <pre><code>SELECT * FROM dba_objects WHERE object_name='UTL_HTTP'
  </code></pre>
  
  <p>It returned 4 entry's. With owners: SYS, SYS, PUBLIC and APEX_040000. </p>
  
  <p>Can somebody help me? Do I need to logon as SYS and with what passwords? </p>