Inserting tuples in a ResultSet without populating changes to the database

Hello,
     After statement.executeQuery(A_SQL_STATEMENT), I got a ResultSet object, however, I want to insert many extra tuples into the final ResultSet before it being iterated and println() its content. I try the following possible solutions, but all of them have problems:
Possible solution 1:
rs.moveToInsertRow();
rs.updateString(...)
rs.insertRow();
PROBLEMS:
It will update the actual data content using insertRow();
Possible solution 2:
Extend the implementation Class of ResultSet and override the insertRow() functions so that it did not update the actual data content.
PROBLEMS:
I am using Oracle JDBC Drivers. I cannot get the source code for me to hack and extend the ResultSet implementation.
Possible solution 3:
Implement the java.sql.ResultSet interface by myself.
PROBLEMS:
Kill me, another solution?
Thanks for your help,
     Eric

Hi
I think Solution 2 with a twist will do...
Create a myResulSet class by extending Object and implements java.sql.ResultSet
Create a constructor that accepts a oracle.driver.OracleResultSet as a parameter and remove the default constructor
Map all method to use the passes oracle.driver.OracleResultSet object except for insertRow() where you can provide your own implementation ...
in your code when you say
oracle.jdbc.driver.OracleResultSet rs = statement.executeQuery("..");
Create myResultSet myRS = new mtResultSet( rs) ;
and use myRS for all operations ....
Though I am not sure I think its called as Delegation in oops terminology
hope this helps
Rupinder

Similar Messages

  • How to change the profile value in the pl/sql code without making change in the database

    How to change the profile value in the pl/sql code without making change in the database.

    I have program ,where if the profiles 'printer and nunber of copies ' are set at the user level, by default when the report completes the O/p will be sent to the printer mentioned in the set-up. but what user wants is
    if these Profiles are set for the user running this program automatic printing should not be done.

  • How do I synch photos from my PC to Ipad2 without a change in the order of the photos?

    I am not able to synch photos from my PC to Ipad2 without a change in the order of the photos. I ordered them by date so thought there would be no problem. What can I do to solve this problem?

    A better solution in windows is set up folders and organize your pictures that way.  That will be similar to events that iPhoto uses. That way the pictures will stay in an organized fashion for you.
    I use a mac and iPhoto and the pictures are organized by events.
    Good luck.

  • Firefox crashes when I close an e mail on AOL also it crashed once after printing some pages from my banking statement. Any ideas. I restarted a few times without any change to the crashing problem. WHat do you suggest.

    Firefox crashes when I close an e mail on AOL also it crashed once after printing some pages from my banking statement. Any ideas. I restarted a few times without any change to the crashing problem. What do you suggest.
    I am using Mozilla Beta 4. I volunteered to try it out. It's lightning fast. I really love using it. I see there is a new version of Firefox should I download it??

    I HAVE NOW SOLVED THE PROBLEM BY RUNNING WINDOWS REGISTRY REPAIR TOOL WHICH HAS OBVIOUSLY REPAIRED CORRUPT REGISTRY FILES.

  • Error message: "Querying or saving changes to the database failed."

    Hi all,
    I can sense I'm becoming a regular on this particular forum - the problem of spending 8 hours a day trying to get this software working!
    _*The problem*_
    When i try and setup a new device, or modify an existing one, I get an error message when i get to the Transcode Settings page. The error message is "Querying or saving changes to the database failed." After this I get a blank screen and can no longer see my settings.
    No amount of restarting has fixed this. And I cannot see a way to create a device through the client software and add transcode settings.
    Help?
    Thanks in advance,
    Ben

    Ah very good!
    Ok - it seems then that this works absolutely fine as a work around. I can create a device and then assign the device to transcode settings through the client adminsitration panel (which is indeed what I meant).
    So, there is a work around. Far less pressing now, but I would like to know why I'm getting the error message all the same - I'm now concerned about the integrity of the database...
    Thanks Tony!
    B

  • How to send  changes in the Database Table Periodically using Change Pointe

    Hi,
           How to send  changes in the Database Table to the external system Periodically using Change Pointers.
    Thanks & Regards,
    Gopi.

    That depends on what table you are referring to.

  • Access 2003 - Repeated "You cant make changes to the database" error

    Hey all,
    Im having a very strange problem with Microsoft Access 2003, we work with old databases and when we open them up through Access 2003 we get the message "you cant make changes to the database objects" error, which is expected. However the laptop has started to repeat this message over and over about 8 times after the first time you click on it. Its very annoying to have to keep clicking to get rid of the error message. Its a very strange problem, any ideas on how to solve this or even to explain what might of happened will be appreciated.
    Thanks in advance
    P.S. It is not an option to update the database, we work with a program that uses an old 97 database and if you update the database the program will stop working.

    Hi
    Firstly it doesnt seem that this is a Toshiba notebook fault.
    This sounds more like a Microsoft issue.
    I would recommend checking the Microsoft knowledge base articles or/and contact the Microsoft support.
    I have investigated a little bit and found these pages. Maybe you will find useful infos.
    http://www.smartcomputing.com/Editorial/article.asp?article=articles/WebOnly/TechSupport/420w10/20w01.asp&guid
    http://support.microsoft.com/kb/824260/
    http://support.microsoft.com/?scid=kb;en-us;824278&spid=2509&sid=98
    Good luck

  • Why should I recompile report for any changes in the database ?

    Hi All
    I call a report (.rep) from a form using RUN_REPORT_OBJECT, and everything is OK
    For any change in the database, for example :
    1- Export Dump file for the schema.
    2- Drop the schema
    3- Re-create the schema again
    4-Import the taken dump to the schema
    When i call the report again, the report doesn't run. If i recompile the report again it will work.
    I read too much posts about this issue, most of them are taLking about the command line parameter RECURSIVE_LOAD=NO ,
    v_url :=' COMPANY_NO='||:global.company_no|| ' RECURSIVE_LOAD=NO';
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER,v_url);
    But , Still the problem not solved
    Notes :
    1- The report type is .REP
    2- if I used the .JSP report, it is working fine , But i can't copy the source code for the report at the customer side.
    Please Help

    Well, first of all this would not be the correct forum. There is a dedicated reports forum for reports related questions. And secondly this most certainly depends on your report. If you have a query like
    select * from my_tableor e.g. are using %rowtype records in your report then you most certainly will have to recompile it after you do an exp/imp.
    cheers

  • Only query on existing form without any changes on the existing records?

    Dear all,
    I am working a brand new form. The form is able to query all the records from the table. However, when I leave the form, it will ask me "Do you want to save the changes you have made?" everytime. I didn't make any changes on the existing records.
    My form only has 2 fields (one with LOV and one without).
    Does anyone know what went wrong?
    Thanks.

    How do you populate your datablock? Do you query one of your values in a Post-Query trigger?
    However you are populating your datablock, Forms is detecting that the status of the Form, Block or Record is changing.
    Also, please let us know your Forms version.
    Craig B-)
    If someone's response is helpful or correct, please mark it accordingly.

  • How to track personal details changes in the report without using triggers on the database tables

    Hi There,
    I'm having a requirement to track the oracle HRMS Personal details changes in the report not using the triggers.
    ex: if some changes the address of the person, then that changed values should be populated in the report.
    Please find below query:
    If any of the following columns data is updated, the new value should be populated in the report.
    SELECT PAPF.PERSON_ID                                                       PAPF_PERSON_ID
    ,      PAPF.EMPLOYEE_NUMBER                                               EMPLOYEE_NUMBER        
    ,      PAPF.FIRST_NAME                                                            FIRST_NAME   
    ,      PAPF.LAST_NAME                                                            LAST_NAME
    ,      TO_CHAR(PAPF.DATE_OF_BIRTH ,'DD-MON-YYYY')     DATE_OF_BIRTH
    ,      ADDR.ADDRESS_LINE1                                                   ADDRESS_1
    ,      ADDR.ADDRESS_LINE2                                                   ADDRESS_2
    ,      ADDR.ADDRESS_LINE3                                                   ADDRESS_3
    ,      ADDR.TOWN_OR_CITY                                                    TOWN
    ,      ADDR.REGION_1                                                              COUNTY
    ,      ADDR.POSTAL_CODE                                                     POST_CODE
    ,      ADDR.COUNTRY                                                              COUNTRY
    ,      PAY.PAYROLL_NAME                                                     PAYROLL_NAME
    ,      PLN_TYP.NAME                                                              PLAN_TYP
    ,      PLN.NAME                                                                     PRODUCT_NAME
    ,      BOF.NAME                                                                     COVERAGE
    FROM   PER_ALL_PEOPLE_F                                                PAPF
    ,      PER_ALL_ASSIGNMENTS_F                                          PAF
    ,      PER_ADDRESSES                                                        ADDR
    ,      PAY_PAYROLLS_F                                                       PAY
    ,      BEN_PRTT_ENRT_RSLT_F                                                 PEN
    ,      BEN_PL_TYP_F                                                         PLN_TYP
    ,      BEN_PL_F                                                             PLN
    ,      BEN_OIPL_F                                                           BOIPF
    ,      BEN_OPT_F                                                            BOF
    WHERE 1                                     = 1
    AND PAPF.PERSON_ID                          = PAF.PERSON_ID
    AND TRUNC(SYSDATE)                          BETWEEN PAPF.EFFECTIVE_START_DATE AND PAPF.EFFECTIVE_END_DATE
    AND TRUNC(SYSDATE)                          BETWEEN PAF.EFFECTIVE_START_DATE AND PAF.EFFECTIVE_END_DATE
    AND PAPF.PERSON_ID                          = ADDR.PERSON_ID
    AND ADDR.PRIMARY_FLAG                       = 'Y'
    AND ADDR.DATE_TO                            IS NULL
    AND PAF.PAYROLL_ID                          = PAY.PAYROLL_ID(+)
    AND PEN.PERSON_ID                           = PAPF.PERSON_ID
    AND PEN.BUSINESS_GROUP_ID                   = PAPF.BUSINESS_GROUP_ID
    AND TRUNC(SYSDATE)                          BETWEEN TRUNC(PEN.EFFECTIVE_START_DATE) AND TRUNC(PEN.EFFECTIVE_END_DATE)
    AND PEN.PRTT_ENRT_RSLT_STAT_CD              IS NULL
    AND PEN.SSPNDD_FLAG                         = 'N'
    AND ( PEN.ENRT_CVG_THRU_DT                  >= TRUNC(SYSDATE)
    OR    PEN.ENRT_OVRIDN_FLAG                  = 'Y')
    AND EXISTS(SELECT PIL.PER_IN_LER_ID
               FROM   BEN_PER_IN_LER PIL
               WHERE  PIL.PER_IN_LER_ID         = PEN.PER_IN_LER_ID
               AND    PIL.BUSINESS_GROUP_ID     = PEN.BUSINESS_GROUP_ID
               AND    PIL.PER_IN_LER_STAT_CD    NOT IN ('VOIDD','BCKDT'))
    AND PEN.PL_TYP_ID                           = PLN_TYP.PL_TYP_ID  
    AND TRUNC(SYSDATE)                          BETWEEN PLN_TYP.EFFECTIVE_START_DATE AND PLN_TYP.EFFECTIVE_END_DATE  
    AND PLN_TYP.PL_TYP_ID                       = PLN.PL_TYP_ID 
    AND TRUNC(SYSDATE)                          BETWEEN PLN.EFFECTIVE_START_DATE AND PLN.EFFECTIVE_END_DATE
    AND PLN.PL_ID                               = PEN.PL_ID
    AND PEN.OIPL_ID                             = BOIPF.OIPL_ID(+)
    AND TRUNC(SYSDATE)                          BETWEEN NVL(BOIPF.EFFECTIVE_START_DATE,HR_GENERAL.START_OF_TIME) AND NVL(BOIPF.EFFECTIVE_END_DATE,HR_GENERAL.END_OF_TIME)
    AND BOIPF.OPT_ID                            = BOF.OPT_ID(+)
    AND TRUNC(SYSDATE)                          BETWEEN NVL(BOF.EFFECTIVE_START_DATE,HR_GENERAL.START_OF_TIME) AND NVL(BOF.EFFECTIVE_END_DATE,HR_GENERAL.END_OF_TIME)
    AND (:P_SYSDATE)                            BETWEEN TRUNC(PEN.ENRT_CVG_STRT_DT) AND TRUNC(PEN.ENRT_CVG_THRU_DT)
    AND (CASE WHEN :P_PAYROLL_ID IS NULL THEN 'Y' ELSE NVL((SELECT 'Y' FROM DUAL WHERE PAY.PAYROLL_ID  = :P_PAYROLL_ID), 'N') END) = 'Y'
    AND PAPF.LAST_UPDATE_DATE                   = (:P_SYSDATE) ;
    --AND PAPF.LAST_UPDATE_DATE                   BETWEEN to_date(:P_SYSDATE) and (to_date(:p_sysdate) + INTERVAL '31' Day);
    --AND (:P_SYSDATE)                           = PAPF.LAST_UPDATE_DATE ;
    Thanks

    check this -
    Re: Best Event-Based notifications for Sox Complience?

  • RE-Acknowledgement without any changes in the log???

    Hello Guyz,
    I am working on an issue where we have been receiving an excessive number of re-acknowledgments that are not as a result of a sales order change registering in the change log.
    This problem is creating a significant amount of additional work for us internally and it is impacting our ability to provide timely information to our customer regarding their order.
    Could you please advice what changes to the sales order will prompt a re-acknowledgement. I have checked everything there is no change in the programme or the SAP Scripts, there is no background job and there are no changes in the sales order,
    I would really appreciate if you could please help me out in resolving this issue, Appreciate your help and waiting for some urgent replies.---Thanks.
    MD

    If you want to see the fields that will trigger the log.
    go to AUT01.
    Select Change Document Object,
      Enter "VERKBELEG"  -( This is the change document object for sales documents )
    Press the display button. you can see all the tables that were enabled for logging changes.
    By clicking on each table, you can identify the fields that were enabled to trigger the change log.
    This is the answer to your question " where we can configure to trigger the log changes for sales order ".. I don't think it will solve ur main issue.
      You need to look into your business process and ur System architecture to resolve the main issue.
    Regards,
    Ajai.
    Don't forget to reward points if useful.

  • Input the data in to the grid without saving it to the  database

    <PRE lang=jsp id=pre2 style="MARGIN-TOP: 0px" nd="109"><%@ taglib uri="/WEB-INF/tags/datagrid.tld" prefix="grd" %>
    <%@ page import="java.sql.Connection" %>
    <%@ page import="java.sql.DriverManager" %>
    <%@ page import="java.sql.SQLException" %>
    <%@ page import="com.freeware.gridtag.*" %>
    <%
    int intCurr = 1;
    int intSortOrd = 0;
    String strTmp = null;
    String strSQL = null;
    String strSortCol = null;
    String strSortOrd = "ASC";
    boolean blnSortAsc = true;
    strSQL = "SELECT CLICORPORATION, CLICLIENT, CLIDESCRIPTION, " +
    "CLIENABLED, CLIUPDSTAMP FROM CLIENTMASTER ";
    Connection objCnn = null;
    Class objDrvCls = null;
    objDrvCls = Class.forName("oracle.jdbc.driver.OracleDriver");
    objCnn = DriverManager.getConnection("<A class=iAs style="FONT-WEIGHT: normal; FONT-SIZE: 100%; PADDING-BOTTOM: 1px; COLOR: darkgreen; BORDER-BOTTOM: darkgreen 0.07em solid; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" href="#" target=_blank itxtdid="3346226">jdbc</A>:oracle:thin:@Host:port:sid",
    "cashincpri", "cashincpri");
    if (objDrvCls != null) objDrvCls = null;
    strTmp = request.getParameter("txtCurr");
    try
    if (strTmp != null)
    intCurr = Integer.parseInt(strTmp);
    catch (NumberFormatException NFEx)
    strSortCol = request.getParameter("txtSortCol");
    strSortOrd = request.getParameter("txtSortAsc");
    if (strSortCol == null) strSortCol = "CLICLIENT";
    if (strSortOrd == null) strSortOrd = "ASC";
    blnSortAsc = (strSortOrd.equals("ASC"));
    %>
    <html>
    <head>
    <title>Grid Tag Demonstration</title>
    <link REL="StyleSheet" HREF="css/GridStyle.css">
    <script LANGUAGE="javascript">
    function doNavigate(pstrWhere, pintTot)
    var strTmp;
    var intPg;
    strTmp = document.frmMain.txtCurr.value;
    intPg = parseInt(strTmp);
    if (isNaN(intPg)) intPg = 1;
    if ((pstrWhere == 'F' || pstrWhere == 'P') && intPg == 1)
    alert("You are already viewing first page!");
    return;
    else if ((pstrWhere == 'N' || pstrWhere == 'L') && intPg == pintTot)
    alert("You are already viewing last page!");
    return;
    if (pstrWhere == 'F')
    intPg = 1;
    else if (pstrWhere == 'P')
    intPg = intPg - 1;
    else if (pstrWhere == 'N')
    intPg = intPg + 1;
    else if (pstrWhere == 'L')
    intPg = pintTot;
    if (intPg < 1) intPg = 1;
    if (intPg > pintTot) intPg = pintTot;
    document.frmMain.txtCurr.value = intPg;
    document.frmMain.submit();
    function doSort(pstrFld, pstrOrd)
    document.frmMain.txtSortCol.value = pstrFld;
    document.frmMain.txtSortAsc.value = pstrOrd;
    document.frmMain.submit();
    </script>
    </head>
    <body>
    <h2>Grid Example</h2>
    <form NAME="frmMain" METHOD="post">
    <grd:dbgrid id="tblStat" name="tblStat" width="100" pageSize="10"
    currentPage="<%=intCurr%>" border="0" cellSpacing="1" cellPadding="2"
    dataMember="<%=strSQL%>" dataSource="<%=objCnn%>" cssClass="gridTable">
    <grd:gridpager imgFirst="images/First.gif" imgPrevious="images/Previous.gif"
    imgNext="images/Next.gif" imgLast="images/Last.gif"/>
    <grd:gridsorter sortColumn="<%=strSortCol%>" sortAscending="<%=blnSortAsc%>"/>
    <grd:rownumcolumn headerText="#" width="5" HAlign="right"/>
    <grd:imagecolumn headerText="" width="5" HAlign="center"
    imageSrc="images/Edit.gif"
    linkUrl="javascript:doEdit('{CLICORPORATION}', '{CLICLIENT}')"
    imageBorder="0" imageWidth="16" imageHeight="16"
    alterText="Click to edit"/>
    <grd:textcolumn dataField="CLICLIENT" headerText="Client"
    width="10" sortable="true"/>
    <grd:textcolumn dataField="CLIDESCRIPTION" headerText="Description"
    width="50" sortable="true"/>
    <grd:decodecolumn dataField="CLIENABLED" headerText="Enabled" width="10"
    decodeValues="Y,N" displayValues="Yes,No" valueSeperator=","/>
    <grd:datecolumn dataField="CLIUPDSTAMP" headerText="Last Updated"
    dataFormat="dd/MM/yyyy HH:mm:ss" width="20"/>
    </grd:dbgrid>
    <input TYPE="hidden" NAME="txtCurr" VALUE="<%=intCurr%>">
    <input TYPE="hidden" NAME="txtSortCol" VALUE="<%=strSortCol%>">
    <input TYPE="hidden" NAME="txtSortAsc" VALUE="<%=strSortOrd%>">
    </form>
    </body>
    </html>
    <%
    try
    if (objCnn != null)
    objCnn.close();
    catch (SQLException SQLExIgnore)
    if (objCnn != null) objCnn = null;
    %>
    </PRE>
    by using this code we will get the gide.
    but the problem is when we are inserting the new record after click to save the record first saves the data in the Db and then it appears on the grid.
    Is it possible to do reverse of the above :
    first it comes to the grid and then after click to save it save to the database.
    please help me
    Regards,
    imran

    Hi Yamini,
    What do you mean by without query region here? Do you wish to implement the complete search/result functionality without using the Query page? Or your question already answered. Kindly confirm.
    Regards
    Sumit

  • Cmp bean - change to the database column not accepting

    Hi,
    I have a CMP Entity bean defined within the application. I had to change the column size of one of the table defined database. It was changed for 1 character to 3. But while inserting the records through the application the EJB still seems to consider the column with 1 character and not 3. I'm not sure if there is something to be changed in the weblogic-cmp-rdbms-jar.xml file. Can someone tell me if I have to change something, so that the entity bean recognizes the column size as 3 and not as 1 ?
    thank you very much in advance.
    -Harish

    here is the rdbms-bean.jar.xml setting for the particular table. i do not think there is any special settings like dbms-column-type.
    <weblogic-rdbms-bean>
    <ejb-name>OrderItem</ejb-name>
    <data-source-name>Order.DataSource</data-source-name>
    <table-map>
    <table-name>ORDER_ITEM</table-name>
    <field-map>
    <cmp-field>itemId</cmp-field>
    <dbms-column>item_id</dbms-column>
    </field-map>
    <field-map>
    <cmp-field>lenderPoolCode</cmp-field>
    <dbms-column>lender_pool_code</dbms-column>
    </field-map>
    </table-map>
    <weblogic-query>

  • Air - Sqlite with Adobe Air insert data in memory, but do not record on the database file

    I have the code:
    var statement:SQLStatement = new SQLStatement();
    statement.addEventListener(SQLEvent.RESULT, insertResult);
    statement.addEventListener(SQLErrorEvent.ERROR, insertError);
    statement.sqlConnection = sqlConnection;
    statement.text = "insert into table values('"+TINome.text+"','"+TISerial.text+"') ";
    statement.execute();
    This run without error and the data is inserted (i dont know where), but when i see into database with firefox sqlite manager, the database is empty! But the Air continue run for a time like the data was recorded on the database file. I dont know what is happen with it.
    Help please!

    Toplink In Memory was developed by our project to solve this problem. It allows us to run our test either in memory or against the database.
    In memory, we basically stub out the database. This allows us to speed up our tests about 75x (In memory we run 7600 tests in 200 secs, it takes about 5 hours against the database). However, it throws away things like transactions, so you can't test things like rollback.
    In database mode, it just uses toplink, Another benefit of it though is that it watches all the objects created allowing an automatic cleanup of created test objects - keeping your database clean and preventing test interactions.
    We used HSQL running in memory previously, it worked fine. However, we needed to write scripts to translate our Oracle SQL into HSQL. Also, we had to override things like the data function in HSQL, and a few of our queries behaved unexpectedly in HSQL. We later abandoned it, as it became a lot of maintenance. It was about 10x faster than running against Oracle.
    Interestingly, we install oracle on all our developers machines too, tests run way faster locally, and developers feel way more comfortable experimenting with a local instance than with a shared instance.
    You can find the toplink in memory stuff at:
    http://toplink-in-mem.sourceforge.net/
    I provide all support for it. Doc is sketchy but I'm happy to guide you through stuff and help out where I can with it.
    - ted

  • Capture changes in the database

    Hi,
    I want to capture the changes that happens in the database, what is the best way to capture the changes?
    Thanks,
    GK

    I have a logon trigger inserting the time and machine info into a table. Then before the session disconects, I pull from the data dictionary the last SQL statement and update the row I have inserted into the table. This will capture a little info for you. I have another process to capture the errors for me - just use the system level triggers. So far, I cannot say that it has a perfomance impact.
    Remember - till it disconnects, all info for the session is available in the v$.
    All depends on how much info you need to capture... and also, what changes you need. If you specify your goal, it'll be easier to find a solution to work for you.
    Hope this helps,mj

Maybe you are looking for

  • I cabn get into AOL on Firefox, but cannot read my e-mails there. It hangs up "loading" when I try to open an e-mail.

    == Issue == Firefox is having problems with certain web sites == Description == I can get into AOL on Firefox, but cannot open e-mails. It "hangs" on loadfing an e-mail when I try to open one. == URL of affected sites == http://www.aol.com == Trouble

  • Which table or view is the PO total

    I am trying to modify the Printed Purchase Order Report(Portrait) POXPRPOP Can some one tell me which table the po total are stored for both blanket & standard po's.

  • Setting initial default homepage

    I am deploying FF18.0.2 to about 700 workstations, in the past I have been using; Mozilla.cfg, copied to <install_Folder> //Firefox Default Settings // set Firefox Default homepage pref("browser.startup.homepage","http://myhome.pagesite.org"); // dis

  • I can't get Photoshop CS6 startup script to works ?

    Hi! I'm trying to get a script to execute each time photoshop cs6 is started. I've tried to put it in that folder ( Photoshop-CS6-Scripting-Guide.pdf page 10) C:\Program Files\Common Files\Adobe\Startup Scripts CS6\Adobe Photoshop but it doesn't star

  • Accessing Essbase ASO Cube from Oracle Relational database

    Hi All, I am a Oracle database developer. We have a requirement where we need to access Hyperion Essbase ASO cube data directly from Relational Database. We have identified below options. 1. Use Hyperion web service and UTL_HTTP oracle utility 2. Use