Skip to Main Content

Analytics Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

HY010 error upon loading metadata

HFMColUserApr 12 2019 — edited Apr 13 2019

Hi guys I'm on HFM 11.1.2.4.206.5284, with a classic application

A few days ago I opened my Manage Ownership module and in every single entity the [Method] is empty and it says [None], also there are no list options to choose anything from.

I thought somehow I had deleted the methods so I tried loading the metadata and see if that could solve the issue, however when I load the metadata there is always an error on the log and it says

An error occurred in executing the previously prepared ODBC command.

Error Reference Number :{2130e0f8-e97d-44b1-875a-76b75c3a5882}
Num: 0x800402BD;Type: 1;DTime: 2019-04-12T08:33:50.565209-05:00;Svr: BOGEVHFFDM;File: CXfmMetadata.cpp;Line: 1023;Version: 11.1.2.4.206.5284;

2130e0f8-e97d-44b1-875a-76b75c3a5882

HY010

Error Reference Number :{6aca083f-08a5-4fe1-bea0-15007b2f390e}
Num: 0x0;Type: 1;DTime: 2019-04-12T08:33:49.566791-05:00;Svr: BOGEVHFFDM;File: XfmODBC.cpp;Line: 2068;Version: 11.1.2.4.206.5284;Dstr: HY010;

6aca083f-08a5-4fe1-bea0-15007b2f390e

I looked for the error on the KM and the only similar result was something about the encoding of the file, I can assure I haven't changed the way my metadata gets created, however I did try the solutions on the article and nothing worked.

I decided to copy my prod app to my testing environment and strangely on the copied app the consol methods are there and the metadata load works perfectly.

I don't know what else to do, I filed an SR with Oracle but it doesn't seem to be moving at all

Any advice would be highly appreciated

Comments

Birthe Gebhardt

Hi Shubham,
depend if you have APEX installed on your database or not.
If APEX is installed, you can use APEX.WEB_SERVICE.make_request. Otherwise you can use UTL_HTTP.
Further you need access to the URL from inside the database. Please check your ACE/L configuration. For this check you need the PLS/SQL packages DBMS_NETWORK_ACL_ADMIN.

For you REST call you need to clarify which kind of authentification is used. Befoer I transfer the REST call into the database I ceck the connection and the calls using POSTMAN.
To post a working snippet is difficulty, because of the missing information:
Database Version
APEX Installation
REST authentification
Wallets
Here is an example for an REST call: https://apex.oracle.com/pls/apex/germancommunities/apexcommunity/tipp/6121/index-en.html

Bye,
Birthe

Bilal

Hi Shubham,
Try out the following PLSQL code. Pls, note it is for calling HTTP request to make it simple but not HTTPS which will require you to do some extra work. Also to call the URL you need to register it DBMS_NETWORK_ACL_ADMIN as suggested above.

procedure call_rest_from_plsql_with_params(p$company_name varchar2) as
 l$request utl_http.req;
 l$response utl_http.resp;
 l$crawler_url varchar2(4000) := 'http://localhost:5000/get_company_data'; --Change to suit yours
 l$buffer varchar2(4000); 
 l$response_text varchar2(4000);
 l$params varchar2(4000) := '{"companyname":"'||p$company_name||'"}'; -- Pass your parameter here  as JSON
 begin
 -- Setting up the request and response objects
  l$request := utl_http.begin_request(l$crawler_url, 'GET',' HTTP/1.1');
  utl_http.set_header(l$request, 'user-agent', 'mozilla/4.0'); 
  utl_http.set_header(l$request, 'Content-Type', 'application/json'); 
  utl_http.set_header(l$request, 'Content-Length', length(l$params));
     -- Passing parameteres to GET call
  utl_http.write_text(l$request, l$params);
  -- Getting the response object
  l$response := utl_http.get_response(l$request);
  -- Reading the data from response object
  begin
    loop
     utl_http.read_line(l$response, l$buffer);  
     l$response_text := l$response_text || l$buffer;
    end loop;
    utl_http.end_response(l$response);

  exception
    when utl_http.end_of_body then
     utl_http.end_response(l$response);
  end;
  -- Print the l$response or do whatever you want to using Oracle SQL JSON functions
end;

I hope this will be useful for what you seek.
Wish you the best of luck.
Take care and best Regards
Bilal

User_A8XLF

Thanks you for the response. I have to use utl_http package. Is it possible to use utl_http in case some user authentication is required. If yes how we do that?

Billy Verreynne

UTL_HTTP supports Basic Authentication.
Other types of authentication like NTLM needs to be implemented by the developer.

Bilal
Answer

You can find basic authentication examples on this link: https://oracle-base.com/articles/misc/utl_http-and-ssl

Marked as Answer by User_A8XLF · Feb 4 2021
1 - 5