ORA-22806 not an object or REF, Query for XMLType

Hi,
i am using this query :
select centre||compte, sum(cout) from (
SELECT o.INDICE_CENTRE as centre, substr(o.champs.extract('//compte/text()').getStringVal(),1,8)
as compte,to_number(substr(o.champs.extract('//cout/text()').getStringVal(),1,17)) as cout
FROM canevas o)
group by centre||compte;
i have got this error ORA-22806 not an object or REF.
any sugestion please?

Problem resolved.

Similar Messages

  • PL/SQL: ORA-22806: not an object or REF  when Using Record in Package

    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0
    I have declared a record type in my package
    create or replace
    PACKAGE MYPKG AS
      TYPE MYREC IS RECORD (VAL1 varchar2(20), val2 date);
      PROCEDURE display_error (pSQLERRM number);
      PROCEDURE P_LOAD_DATA (pStartDate Date, pEndDate Date);
      FUNCTION  F_EPI(refno1 in NUMBER,  refno2 in NUMBER) return MYREC;
    END MYPKG;
    --In My Package Body
    FUNCTION  F_EPI(refno1 in NUMBER,  refno2 in NUMBER) return MYREC is
            F_param MYREC;
            BEGIN
            select myvarchar2, mydate into MYREC from MYTable
              where myrefno1 = refno1
              and myrefno2 = refno2
            Exception
              when others then
              display_error(SQLERRM);
              RETURN F_param;
            END F_EPI ;
      PROCEDURE P_LOAD_DATA (pStartDate Date, pEndDate Date) IS
    insert into atable(myvarchar, mydate)
    select F_EPI(refno1,refno2).val1,F_EPI(refno1,refno2).val2 from tab2;
    END P_LOAD_DATA;
    I get errors
    Error(187,7): PL/SQL: SQL Statement ignored
    Error(225,7): PLS-00382: expression is of wrong type
    Error(225,7): PL/SQL: ORA-22806: not an object or REF
    When I compile the package.
    When I try to call the function from SQL I get an Invalid datatype error.

    Hi,
    Before posting any query/plsql blocks, please ensure that you have written it clean and complete with less syntax errors. ( at least general syntax errors, you can avoid). Then somebody can have an interest to check your logical error.
    About your posting, refer below solution step-by-step. It may help you, about what you are looking for? By the way, you must be knowing, what you are going to to do with. I haven't concentrated about your requirement; as it was not missing in your posting.
    drop table test;
    create table test(myvarchar varchar2(20), mydate date);
    create or replace
        package mypkg as
          type myrec is record (val1 varchar2(20), val2 date);
          --procedure display_error (psqlerrm in number); -- if you are passing sqlerrm, then parameter needs to be string type
       procedure display_error (psqlerrm in varchar2);
          procedure p_load_data (pstartdate in date, penddate in date);
          function  f_epi(refno1 in number,  refno2 in number) return myrec;
       end mypkg;
    Package created.
    --in my package body
    create or replace 
    package body mypkg as -- added
    procedure display_error (psqlerrm in varchar2) -- if you are declared a proc/func in spec, it needs to define in pkg body
    is
    begin
         null; -- you should know, what to do here
      dbms_output.put_line('Err -'||sqlerrm);
    end display_error;
    function  f_epi(refno1 in number,refno2 in number)
    return myrec
    is
    f_param myrec;
    begin
       -- select myvarchar2, mydate into MYREC from mytable
      --  where myrefno1 = refno1
      --  and myrefno2 = refno2;
        select ename, hiredate into f_param from emp -- added demo logic by using emp
        where empno = refno1
         and  mgr  = refno2;
        return f_param;  -- added
    exception
       when others then
         raise; -- if you are using OTHERS then, just raise it
       display_error(sqlerrm);  
       --return f_param; -- what is this?
    end f_epi;
    procedure p_load_data (pstartdate in date, penddate in date) -- you must be knowing the use of 2 params ???
    is
        v_rec myrec; -- added
    begin -- Added
       --insert into atable(myvarchar, mydate)
      -- select f_epi(refno1,refno2).val1,f_epi(refno1,refno2).val1 from tab2;
       -- demo logic added with static params to call f_epi
       v_rec:= f_epi(7499,7698);
       insert into test values v_rec;
        --null; 
    end p_load_data;
    end mypkg;
    Package body created.
    SQL> exec mypkg.p_load_data(null,null);
    PL/SQL procedure successfully completed.
    SQL> select * from test;
    MYVARCHAR            MYDATE
    ALLEN                20-FEB-81
    Thanks!

  • ORA-22806: not an object or REF

    Hi!
    My query encountered error:ORA-22806: not an object or REF.
    select LOGINNAME from (
    select ID_.LOGINNAME
    from TEST_IDENTIFICATIONDEVICE ID_
    join TEST_CONTRACTPARTNER CP
    on (CP.ID=ID_.ID_PERSON)
    join TEST_CONTRACT gc on (gc.ID_PARTNER=CP.ID)
    inner join car_reflists cr on (EXTRACTVALUE(gc.XMLEXTENSION,'/data/shop-identification')
    = cr.listitemid)
    where loginname like '%pos%'
    But inlined SELECT works Ok. Please help me to solve this problem. Thank you in advance.

    Is any of the object in "inlined SELECT" a view? Is the view doing another EXTRACT?

  • ORA-22806: not an object or REF on the reserved word FROM, how to debug?

    I am honestly confused on this one...
    When I run the following in sqlplus:
    SQL> SELECT a.fname, a.lname
    FROM h_user_m a
    WHERE a.id IN
    (SELECT UNIQUE m.user_id
    FROM h_user_role m
    WHERE m.role_id =
    (SELECT UNIQUE id
    FROM h_role_n
    WHERE LOWER (name) = 'wc-ismp-admin')
    OR m.role_id =
    (SELECT UNIQUE id
    FROM h_role_n
    WHERE LOWER (name) = 'wc-ismp-user'))
    AND a.id NOT IN (SELECT user_id
    FROM ip_user);
    ERROR at line 2:
    ORA-22806: not an object or REF
    I run the same query in Toad for Oracle v9.7.2.5 and it returns the same error, but highlights the reserved word FROM. I googled the error, but I'm not for sure why the reserved word FROM would be causing the error?

    Thank you for the quick response.
    I tried your query and I still receive the same 'ORA-22806: not an object or REF' error & in Toad, it does highlight the reserved word FROM.
    Oddly enough, I went back and ran the first sub-query from both of our SQL statements and no errors returned.
    Only when I added the sub-query back to the main query I receive the error as mentioned.
    So, the following worked:
    select m.user_id
    from h_user_role m
    where m.role_id in
    (select id
    from h_role_n
    where lower (name) = 'wc-ismp-admin'
    or lower (name) = 'wc-ismp-user'
    minus
    select user_id
    from ip_user)
    but added back to:
    select a.fname, a.lname
    from h_user_m a
    where a.id in(...)
    The error returns - the same steps apply to my statement as well...
    Looking at the 10g Release 2 (10.2) documents, I don't see any restrictions to the IN reserved word, in terms of number of sub-queries, etc...

  • ORA-22806 : not an object or reference in 10gRel2

    Hi,
    We have recently successfully upgraded our oracle 8i database to 10.2.0.1
    database is up and running fine, but
    one of the user created procedure is giving error as below :
    ORA-22806 : not an object or reference
    See the below code :
    =============
    v_cnt:=0;
    Check_Str := 'SELECT COUNT(*) FROM P_EMP_HOLIDAY_DATE
    WHERE company_id=:p_Comp_id
    AND branch_id = :rec_branch.branch_id
    AND employee_id =:rec_emp.employee_id
    AND :v_nxt_date IN holiday_date';
    EXECUTE IMMEDIATE Check_Str INTO v_cnt USING p_Comp_id,rec_emp.branch_id, rec_emp.employee_id,v_nxt_date;
    Put_Any_Line('v_cnt : ' || v_cnt);
    when we run the procedure it gives the error at line 186 .i.e the line with EXECUTE IMMEDIATE statement in above
    so where is the problem ?
    this procedure was running fine without any problem in our oracle 8.1.7.0 version now showing error in 10.2.0.1
    is there any syntax problem that is not being suported in the upgraded version i.e. 10.2.0.1
    how to get it solved ?
    As this is very urgent to solve so any immediate support would be appreciated.
    with regards

    What is Put_Any_Line ? Why are you using dynamic sql here ?
    As this is very urgent to solve so any immediate support would be appreciated.Ok, then please, do not hesitate to use the Oracle support, and see how it can be immediate support.
    Nicolas.

  • NI License manager does not start; says it's querying for current license status

    I currently have the evaluation version of Labview. I tried to use a volume license from my university by typing in the server name in NI License Manager, but after that, whenever I try to open the license manager, it looks like it's stuck saying "querying for the current license status" and never actually opens. Also, when I try to open Labview, it freezes during the setup finalization. I realized afterward that students don't have access to the university license for their own PC's, so I can't use that volume license anyway. 
    I uninstalled everything having to do with NI on my PC and reinstalled the evaluation version of Labview, but the same problem still exists. Is there anything I could do besides erasing my hard drive? 
    Solved!
    Go to Solution.

    Hi amize,
    When you say the same problem still exists, is it both the NI License Manager and LabVIEW that are still having the issues? When you open the License Manager and it is not actually opening does that mean you cannot interact with it or the licenses never finish loading in the tree view on the left hand side. If you do have access to the Options menu, open preferences and make sure you have deselected "Use Volume License Servers". At some point, if the windows is not interactive, it should timeout with attempting to make its server connection, especially if you are disconnected from any network connection.
    Also, how long do you wait when you open LabVIEW and see the setup screen? Does it just become unresponsive?
    If you could follow up with that information it would be much appreciated
    Regards,
    James W.
    Applications Engineer
    National Instruments

  • ORA-22979: cannot INSERT object view REF or user-defined REF

    I'm getting this error when trying to insert a parent_type object into an object table. The parent object contains a nested table of parent object references.
    CREATE TYPE cl_ArgList AS TABLE OF REF cl_Expression
    CREATE TYPE cl_Expression AS OBJECT (
    args cl_ArgList;
    Somehow the system-generated parent object REF that is returned from one STATIC function (using MAKE_REF) turns into a incompatible REF by the time it is passed to aother STATIC function and used in the constructor of the nested table for a new args instance.
    Does anybody know how this might be happening?
    Is there any way to test if a REF is a valid system-generated REF vs. a user-defined REF?
    I don't even know what a user-defined REF is, how I might be getting one, and what's wrong with it anyway. Shouldn't strong-typing ensure that the REF is okay if it is of the appropriate type?
    Glenn.

    Okay, solved that.
    FYI the problem is that the nested table arguments (REF cl_Expression) have to be SCOPED REFs, ie. constrained to refer only to objects in a particular table (although I don't really understand why).
    Then of course the trick is how to constrain the arguments in the nested table, because you can't do it in the CREATE TYPE statement. You also can't do it when you create the containing table, when you define how the nested table is stored:
    CREATE TABLE <containing table> OF cl_Expression (
    NESTED TABLE args STORE AS t_args
    Instead you have to modify the nested table properties after it has been created:
    ALTER TABLE t_args ADD (SCOPE FOR (column_value) IS t_Induhvidual);
    'column_value' is the actual syntax, not your own column name.
    But you probably knew that ;-)

  • Update query for XMLTYPE column

    Hello everyone,
    I have inserted xml data into XMLTYPE column of my table,xml data is something like this
    <Data type="FYI">                         
    <ID xmlns="http://orcl.com">T-1-1</ID>
    <Category>FRAME</Category>
    <ProductID>1</ProductID>
    <Name xmlns="http://orcl.com">Frame </Name>
    <Type>BASIC</Type>
    <Code>INSTALL</Code>
    <NodeID>1</NodeID>
    </Data>
    Now i need to update the values inside the <Data> element,like
    ID == T-2-2
    Category == IFRAME
    ProductID == 1.1
    Name == IFRAME
    We are using oracle 10g R2.
    Please help me out how to update. It would be very thankfull for your valuble suggestions
    Thanks in advance

    <Services>
    <DataService type="FRLY">
    <ID xmlns="http://www.openapplications.org/oagis/9">T-1-1-FRLY</ID>
    <CategoryCode>FRAME</CategoryCode>
    <ProductOfferingID>1</ProductOfferingID>
    <Name xmlns="http://www.openapplications.org/oagis/9">Frame Relay</Name>
    <SubType>FRLY - BASIC</SubType>
    <ActionCode>INSTALL</ActionCode>
    <NodeID>1</NodeID>
    <Contract>
    <ID xmlns="http://www.openapplications.org/oagis/9" schemeName="Networx Universal">00000</ID>
    <Category name="Contract Type">U</Category>
    </Contract>
    <Contract>
    <Type xmlns="http://www.openapplications.org/oagis/9">Routine</Type>
    </Contract>
    <CustomerParty>
    <Location/>
    </CustomerParty>
    <ProvisioningStatus type="BillingSetup">
    <Description xmlns="http://www.openapplications.org/oagis/9">C</Description>
    </ProvisioningStatus>
    <MileStone>
    <ID xmlns="http://www.openapplications.org/oagis/9">CWD</ID>
    <Date>2007-01-29</Date>
    </MileStone>
    <ActivityStatus>
    <Code xmlns="http://www.openapplications.org/oagis/9" name="DueDate"/>
    <EffectiveDateTime xmlns="http://www.openapplications.org/oagis/9">2007-01-29T00:00:00Z</EffectiveDateTime>
    </ActivityStatus>
    <AssociatedIDs>
    <ID xmlns="http://www.openapplications.org/oagis/9">1</ID>
    </AssociatedIDs>
    <AssociatedIDs>
    <TemporaryID schemeName="OPKEY">34908</TemporaryID>
    </AssociatedIDs>
    <Location>
    <ID xmlns="http://www.openapplications.org/oagis/9">T-510092</ID>
    </Location>
    <OrderID>RequestID</OrderID>
    <Accessory>
    <ActionCode>ADD</ActionCode>
    <Description xmlns="http://www.openapplications.org/oagis/9">IBM ESERVER-XSERIES306</Description>
    <CategoryCode>5</CategoryCode>
    <InstallVendorParty>
    <Name xmlns="http://www.openapplications.org/oagis/9">MCI</Name>
    </InstallVendorParty>
    </Accessory>
    <Circuit>
    <ID xmlns="http://www.openapplications.org/oagis/9">T-1-1-FRLY</ID>
    <AssociatedIDs/>
    </Circuit>
    </DataService>
    </Services>
    This was my xml which i have inserted into DB for the column XMLTYPE.Now i need to update few values in this whole file like values of
    ID under<DataService>
    Name under <DataService>
    ID under <Contract>
    Description under <ProvisioningStatus>
    i was using the UPDATEXML query to update those it's saying i row updated but when i extract it says null.
    Please help me out to solve this problem.
    Thanks in advance.

  • Extrating XML whilst using group by: ORA-22806

    Hi,
    Can anyone tell me why this works:
    select media_id, count(*) from (
    select m.media_id, m.mediadata.extract('//med:caption/text()|//med:title/text()').getStringVal() AS title_caption
    from media m
    where m.media_id = 3208
    group by media_id;
    and this works:
    select title_caption
    from (
    select m.mediadata.extract('//med:caption/text()|//med:title/text()').getStringVal() AS title_caption
    from media m
    where m.media_id = 3208
    but this doesn’t?
    select title_caption, count(*) from (
    select m.media_id, m.mediadata.extract('//med:caption/text()|//med:title/text()').getStringVal() AS title_caption
    from media m
    where m.media_id = 3208
    group by title_caption;
    select title_caption, count(*) from (
    ERROR at line 1:
    ORA-22806: not an object or REF
    mediadata is a column of type xmltype and media_id is a number.
    Thanks in advance.

    I haven't fixed this problem but I've found a workaround, creating a view that performs the extract. The view then contains a varchar2 which can be grouped by.

  • Cursors are not closed when using Ref Cursor Query in a report  ORA-01000

    Dear Experts
    Oracel database 11g,
    developer suite 10.1.2.0.2,
    application server 10.1.2.0.2,
    Windows xp platform
    For a long time, I'm hitting ORA-01000
    I have a 2 group report (master and detail) using Ref Cusor query, when this report is run, I found that it opens several cursors (should be only one cursor) for the detail query although it should not, I found that the number of these cursors is equal to the number of master records.
    Moreover, after the report is finished, these cursors are not closed, and they are increasing cumulatively each time I run the report, and finally the maximum number of open cursors is exceeded, and thus I get ORA-01000.
    I increased the open cursors parameter for the database to an unbeleivable value 30000, but of course it will be exceeded during the session because the cursors are increasing cumulatively.
    I Found that this problem is solved when using only one master Ref Cursor Query and create a breake group, the problem is solved also if we use SQL Query instead of Ref Query for the master and detail queries, but for some considerations, I should not use neither breake group nor SQL Query, I have to use REF Cursor queries.
    Is this an oracle bug , and how can I overcome ?
    Thanks
    Edited by: Mostafa Abolaynain on May 6, 2012 9:58 AM

    Thank you Inol for your answer, However
    Ref Cursor give me felxibility to control the query, for example see the following query :
    function QR_1RefCurDS return DEF_CURSORS.JOURHEAD_REFCUR is
    temp_JOURHEAD DEF_CURSORS.JOURHEAD_refcur;
              v_from_date DATE;
              v_to_date DATE;
              V_SERIAL_TYPE number;
    begin
    SELECT SERIAL_TYPE INTO V_SERIAL_TYPE
    FROM ACC_VOUCHER_TYPES
    where voucher_type='J'
    and IDENT_NO=:IDENT
    AND COMP_NO=TO_NUMBER(:COMPANY_NO);
         IF :no_date=1 then
                   IF V_SERIAL_TYPE =1 THEN     
                   open temp_JOURHEAD for select VOCH_NO, VOCH_DATE
                   FROM JOURHEAD
                   WHERE COMP_NO=TO_NUMBER(:COMPANY_NO)
                   AND IDENT=:IDENT
              AND ((TO_NUMBER(VOCH_NO)=:FROM_NO and :FROM_NO IS NOT NULL AND :TO_NO IS NULL)
              OR (TO_NUMBER(VOCH_NO) BETWEEN :FROM_NO AND :TO_NO and :FROM_NO IS NOT NULL AND :TO_NO IS NOT NULL )
              OR (TO_NUMBER(VOCH_NO)<=:TO_NO and :FROM_NO IS NULL AND :TO_NO IS NOT NULL )
              OR (:FROM_NO IS NULL AND :TO_NO IS NULL ))
                   ORDER BY TO_NUMBER(VOCH_NO);
                   ELSE
                   open temp_JOURHEAD for select VOCH_NO, VOCH_DATE
                   FROM JOURHEAD
                   WHERE COMP_NO=TO_NUMBER(:COMPANY_NO)
                   AND IDENT=:IDENT               
              AND ((VOCH_NO=:FROM_NO and :FROM_NO IS NOT NULL AND :TO_NO IS NULL)
              OR (VOCH_NO BETWEEN :FROM_NO AND :TO_NO and :FROM_NO IS NOT NULL AND :TO_NO IS NOT NULL )
              OR (VOCH_NO<=:TO_NO and :FROM_NO IS NULL AND :TO_NO IS NOT NULL )
              OR (:FROM_NO IS NULL AND :TO_NO IS NULL ))     
                   ORDER BY VOCH_NO;          
                   END IF;
         ELSE
                   v_from_date:=to_DATE(:from_date);
                   v_to_date:=to_DATE(:to_date);                         
              IF V_SERIAL_TYPE =1 THEN
                   open temp_JOURHEAD for select VOCH_NO, VOCH_DATE
                   FROM JOURHEAD
                   WHERE COMP_NO=TO_NUMBER(:COMPANY_NO)
              AND IDENT=:IDENT                         
                   AND ((voch_date between v_from_date and v_to_date and :from_date is not null and :to_date is not null)
                   OR (voch_date <= v_to_date and :from_date is null and :to_date is not null)
                   OR (voch_date = v_from_date and :from_date is not null and :to_date is null)
                   OR (:from_date is null and :to_date is null ))     
                   ORDER BY VOCH_DATE,TO_NUMBER(VOCH_NO);     
              ELSE
                   open temp_JOURHEAD for select VOCH_NO, VOCH_DATE
                   FROM JOURHEAD
                   WHERE COMP_NO=TO_NUMBER(:COMPANY_NO)
                   AND IDENT=:IDENT                         
              AND ((voch_date between v_from_date and v_to_date and :from_date is not null and :to_date is not null)
                   OR (voch_date <= v_to_date and :from_date is null and :to_date is not null)
                   OR (voch_date = v_from_date and :from_date is not null and :to_date is null)
                   OR (:from_date is null and :to_date is null ))     
                   ORDER BY VOCH_DATE,VOCH_NO;          
              END IF;
         END IF;               
         return temp_JOURHEAD;
    end;

  • Query for recurring reports using Query Builder in Business objects

    1. How to count webi Recurring reports using query builder in business objects? (Need Query for this)
    2. How to count Crystal Recurring reports using query builder in business objects? (Need Query for this)
    I am able to get summerized recurring reports using Query Builder.
    For Example we have 343 reports which are under recurring (This includes both Webi Reports and Crystal Reports).
    we need to get individually how many webi reports are under Recurring and Crystal reports are under Recurring.

    1. How to count webi Recurring reports using query builder in business objects? (Need Query for this)
    2. How to count Crystal Recurring reports using query builder in business objects? (Need Query for this)
    I am able to get summerized recurring reports using Query Builder.
    For Example we have 343 reports which are under recurring (This includes both Webi Reports and Crystal Reports).
    we need to get individually how many webi reports are under Recurring and Crystal reports are under Recurring.

  • Bugfixes in ODP 10.2.0.2? 10.2.0.1:ORA-03114 not connected to oracle

    where can I get a list of bugs fixed in ODP 10.2.0.2 ? We have sporadic problems in ODP 10.2.0.1 (Oracle.DataAccess.Client.OracleException ORA-03114: not connected to ORACLE).
    Thanks for the information
    Patrik

    Hi Patrik,
    I posted the bug fixes in 10.2.0.2.20 in Differences between 10.2.0.1 and 10.2.0.2 ?
    Cheers,
    Greg

  • Can anyone share the query for inventory aging report

    Is there any standard reports for inventory aging in oracle ebs 12.1.3 ....... If not can anyone share the query for inventory aging report

    Hi,
    It may not be so simple as you are trying to reproduce the historical value.  I believe you have to create a temporary table first.  Or you may use Command feather to get the required data in advance.
    Thanks,
    Gordon

  • ORA-34492: Analytic workspace object cubename _STORED does not exist.

    I am having issues accessing cube data from a user other than where the AW was built.
    Following is what I have done in User-1:
    1. Create two AW's in User-1 : AW-1 and AW-2.
    2. Create all objects in these two AW's
    3. AW-2 is dynamically attached on attaching AW-1 by using PERMIT startup programs. Please refer Attaching multiple AW's
    4. Refreshed both AW's to load data
    5. ALLCOMPILE - no errors.
    6. Created some SQL views on User-1 which basically query the underlying cube views. I also have some queries using the olap_table option.
    7. All my querries work fine in User-1. I can access data from AW-1 and AW-2.
    However, we give access to the above SQL views through an abstract user: User-abs. In 10g, all we did was grant select privs to all the User-1.AW$ tables and also on all the sql views. This would let User-abs get data from the cubes in User-1.
    I am not able to get User-abs to do the same in 11g. We encounter an error mentioning that the workspace object <cubename>_STORED does not exist. The cubename it is referring to exists in AW-2.
    I granted select privs on all AW$ tables, dimension views, cube views and the abstracted sql views but the error persists.
    I tried searching this forum but could not find any helpful leads. Any help will be greatly appreciated.
    Thanks!
    Database - 11.2.0.1
    AWM - 11.2.0.2.0A

    I can think of two possible problems. First, you may not be properly qualifying the owner name when you refer to the object. This can be important when refering to objects owned by other schemas. For example instead of 'my_cube_stored' you would say 'user-1.aw-2!my_cube_stored'. You should also be careful about the order in which you attach the AWs. Do you want AW-2 attached first or last? Use the LAST keyword on AW ATTACH to control this.
    Another possibility is that you have added additional logic to PERMIT_READ over and above the 'aw attach' comand. I was able to recreate the error with the following code in a new AW called TEST_AW in the GLOBAL schema.
    DEFINE PERMIT_READ PROGRAM BOOLEAN
    PROGRAM
    aw attach global.global
    show global.global!units_cube_stored
    return true
    ENDAttaching TEST_AW in RO mode as any user gives me the following error.
    ORA-34492: Analytic workspace object GLOBAL.GLOBAL!UNITS_CUBE_STORED does not
    exist.
    ORA-06512: at "SYS.DBMS_AW", line 93
    ORA-06512: at "SYS.DBMS_AW", line 122
    ORA-06512: at line 1Here is the documentation for PERMIT_READ
    >
    PERMIT_READ
    A PERMIT_READ program is a program that you can create and that Oracle OLAP checks for by name when an AW ATTACH read-only command executes. Depending on the value returned by the program, Oracle OLAP executes the code within the program after attaching the analytic workspace. Depending on the statements in the permit_read program the user is granted or denied access to specific objects or sets of object values. Within permit_read program, you can specify PERMIT commands that grant or restrict access to individual workspace objects. All of the objects referred to in a given permit_read must exist in the same analytic workspace.
    >
    Note, especially, the restriction in the last sentence. This means that a PERMIT_READ program in AW1, for example, cannot refer to objects in AW2. So this is why my PERMIT_READ doesn't work. The AUTOGO does not have these restrictions, but as we know from the forum post you cited, AUTOGO is broken in 11.2.0.1. You can move forward to 11.2.0.2 where AUTOGO is fixed, but there is workaround, which is to add a PERMIT_READ program to the second AW to do the work. For example, if I add this PERMIT_READ to GLOBAL and remove the 'show' command from the PERMIT_READ in TEST_AW, then everything works as expected.
    DEFINE PERMIT_READ PROGRAM BOOLEAN
    PROGRAM
    if aw(attached 'test_aw')
    then do
    show global.global!units_cube_stored
    doend
    return true
    END

  • ORA-34492: Analytic workspace object __XML_GET_FULLTOAW_NAME does not exist

    Hi,
    We are experiencing the following error when trying to retrieve data from the OLAP layer in our front-end:
    ORA-34492: Analytic workspace object __XML_GET_FULLTOAW_NAME does not exist.
    to be more specific, the following happens:
    We are using the Oracle OLAP Java api's to query the analytical workspace. We create a Source object that contains the joins we want. This source is prepared and committed via the TransactionProvider class. Via the DataProvider we then create an SQLCursorManager and generate the SQL and execute it via JDBC.
    We were able to execute it without problems on an XP development platform. When switching to another platform that we use, it gives the following error messages:
    (platform with the error is Linux x86-64; more version info further down)
    Caused by: java.sql.SQLException: ORA-34492: Analytic workspace object __XML_GET_FULLTOAW_NAME does not exist.
    ORA-06512: at "SYS.OLAPIMPL_T", line 23
    ORA-06512: at "SYS.OLAPIMPL_T", line 17
    ORA-06512: at line 4
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:626)
    at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:113)
    at oracle.jdbc.driver.T4CStatement.execute_for_describe(T4CStatement.java:352)
    at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:894)
    at oracle.jdbc.driver.T4CStatement.execute_maybe_describe(T4CStatement.java:384)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:984)
    at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1124)
    Platform/version info that produces the error:
    Linux x86-64
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
    PL/SQL Release 10.2.0.3.0 - Production
    CORE     10.2.0.3.0     Production
    TNS for Linux: Version 10.2.0.3.0 - Production
    NLSRTL Version 10.2.0.3.0 - Production
    OLAP A patch for 10.2.0.3 is applied.
    Platform where this works without problems:
    Windows XP
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
    PL/SQL Release 10.2.0.1.0 - Production
    CORE 10.2.0.1.0 Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    Any info on resolving this issue is greatly appreciated!
    Thanks,
    Ed

    Hi Keith,
    Yesterday I actually fully rebuilt/redeployed the AW. (I only patched our 10.2.0.3 installation with the OLAP A patch very recently.) Even the AW's tablespace was recreated, just to make sure everything was gone. Redeployment of the OLAP objects from OWB control center went without any problems.
    Let me answer your questions one by one below.
    1) How did you build the AW?
    We use OWB. The only thing I used AWM for is to actually create the AW. Once created, I use OWB to design and deploy. The front-end developers use AWM sometimes for viewing data in the OLAP objects. (I use OWB or AWM for that.)
    2) Can you connect to the AW via AWM, if so can you use the Data Viewer option to view:
    a) each dimension and check you can drill up and down.
    b) each cube
    I have been playing around a bit with the dim's and cubes in the AWM by right-clicking and selecting view data ... (that's the data viewer option?) and encountered no problems.
    3) You are using the OLAP API directly, what sort of application are you building - Java Client, JSP, Applet and are you using BI Beans?
    We are building a JSP type application, but so far only servlet code is being executed as the failure occurs on issuing the query. We are not using BI BEans.
    Thanks for your feedback!
    grts,
    Ed

Maybe you are looking for