How to avoid ORA-3113 when selecting from XMLTYPE table

Hi,
If I register an XML-schema, Oracle automatically creates a table xxxxxx_tab of XMLTYPE. (I use Oracle 9.2.0.1)
When I do a DESCRIBE or a SELECT from this table I get the error: 'ORA-03113:
end-of-file on communication channel' and my connection is dropped.
I opened a TAR for this and Oracle says: 'It is an internal bug so cannot be viewed in metalink. This is fixed in release 10i.' (do they mean oracle DB rel 10i, or a new version of XDK?)
I saw an example in Oracle Magazine (Jan
2003) "Make XML Native and Relative" about Oracle 9i Rel 2 and XML. As you can see in codeListing 7, the author also does a select from such a
table (CD331_tab): Why doesn't he have any problems?
Is there a workaround for this bug? What's the purpose of being able to automatically upload XML-data to a registered schema if you can't do a select of the data?
Thank you!

It appears that the XML Schema is not entirely valid. Specifically, the definition of element "DeviceCategory" has two definitions of element "Audio" appearing within a <choice> model i.e. something like :
<element name="DeviceCategory">
<choice>
<sequence>
<element name="Audio">
</sequence>
<sequence>
<element name="Audio">
</sequence>
</choice>
This is disallowed by XML Schema spec per. the Unique Particle Attribution Constraint. The general idea is that a XML Schema describes a determinstic content model i.e. schema processor can always unambiguosly determine the matching declaration when it encounters an element. However that's not the case with the declaration above. On encoutering "Audio", it could match either the first or the second declaration of the element. Hence the error.
You will have to rework the schema to avoid this constraint. One mechanism could be to define complexType and their restrictions.
- Ravi

Similar Messages

  • How to avoid the dialogue when converting from context menu

    This is a follow-up to http://forums.adobe.com/message/2016146#443364 which was locked due to a bug.
    i would like to know how i can avoid the 'save as' dialogue when using the context menu to convert a word file to pdf using windows XP/acrobat 8/word 2007.
    so far, it always prompts me for the filename, which is annoying as it does not allow me to batch-convert several files and let the thing run its course.
    the solution provided by Steve in the other thread does not work - even if the plugin from word does not propt for a filename, it still does when triggered from explorer/context menu.
    so back to square one: how to avoid that dialogue when not opening word at all?
    cheers, thanks for any help. michael

    For a permanent change, START>PRINTERS>right click on Adobe PDF printer and select properties>General>Printing Preferences>Adobe PDF Settings. Under the settings tab, uncheck the box related to asking for a name. Pretty sure that is the location, but it may vary with version.

  • ORA-00903 when selecting from a view

    Hi,
    I'm migrating our existing database on 8.1.7 to 9.2 and I keep getting an ORA-00903 error (on Oracle 9.2.0.1.0) when I try to select from a view with nested selects. Here's a very simple example - no rows are returned when I issue the query (its a dummy query, but it illustrates the problem). However, as soon as I turn it into a view, and do a select from the view, I get an Invalid Table Name error. Can anyone suggest why this is happening?
    So... This works on its own
    SELECT ID
    FROM (
    SELECT /*+ ORDERED */
    t.id
    FROM tblmsg t,
    tblevent e,
    e_workflowstate s,
    (SELECT e_taskstatus_id
    FROM e_taskstatus s,
    e_workflowplntasks ws
    WHERE s.e_taskstatus_id = ws.taskid
    UNION ALL
    SELECT e_taskstatus_id
    FROM e_taskstatus s,
    e_workflowmantasks ws
    WHERE s.e_taskstatus_id = ws.taskid
    UNION ALL
    SELECT e_taskstatus_id
    FROM e_taskstatus s,
    e_workflowtrgtasks ws
    WHERE s.e_taskstatus_id = ws.taskid) V
    WHERE t.id = e.id
    AND t.id = v.e_taskstatus_id
    AND V.e_taskstatus_id = e.id)
    But this doesn't
    CREATE OR REPLACE VIEW TESTVIEW AS
    SELECT ID
    FROM (
    SELECT /*+ ORDERED */
    t.id
    FROM tblmsg t,
    tblevent e,
    e_workflowstate s,
    (SELECT e_taskstatus_id
    FROM e_taskstatus s,
    e_workflowplntasks ws
    WHERE s.e_taskstatus_id = ws.taskid
    UNION ALL
    SELECT e_taskstatus_id
    FROM e_taskstatus s,
    e_workflowmantasks ws
    WHERE s.e_taskstatus_id = ws.taskid
    UNION ALL
    SELECT e_taskstatus_id
    FROM e_taskstatus s,
    e_workflowtrgtasks ws
    WHERE s.e_taskstatus_id = ws.taskid) V
    WHERE t.id = e.id
    AND t.id = v.e_taskstatus_id
    AND V.e_taskstatus_id = e.id);
    View created
    SELECT * FROM TESTVIEW;
    ERROR at line 1:
    ORA-00903: invalid table name
    This works fine on 8.1.7. I haven't tested it on 9.1 though.
    Any ideas?
    Thanks

    One thing to try would be to use SCHEMA.TABLENAME rather than just TABLENAME to refer to the tables.
    Its just a shot in the dark, but hopefully it may help.
    Martin.

  • Selected rows appear in random order when selected from ADF Table

    Hi All,
    I am working in ADF 10.1.3
    I have a ADF Table with a multi select option associated with a DataBean, My requirement is when I select multiple rows from the table and click on some button to goto next page, the selected rows are not getting populated as per the selection order.
    Example: If I select 1st,3rd,5th,7th,9th rows from the ADF Table then in the next page I see the results as 3rd,1st,5th,9th,7th. - Randomly it is getting displayed.
    I am using the following code to get the records from Multi select ADF Table.
    I am adding the selected records to a List.
    selectedRowSet = this.getTable1().getSelectionState().getKeySet();
    rowSetIter = selectedRowSet.iterator();
    if (selectedRowSet.size() > 0)
    Integer index = Integer.parseInt((String) rowSetIter.next());
    Object rowData = this.getTable1().getRowData(index.intValue());
    The order is getting jumbled when I see the final list.
    Pls help me in this.
    Thanks

    Hi Frank,
    Thanks for the update.
    We are using 10.1.3.3 and already our application in QA Testing. User need this to be fixed. Is there any work around for this problem?
    Thanks
    JP

  • Selecting from XMLTYPE table

    HI Gentlemen,
    Given a schema-based XMLTYPE table with one big XML instance stored in it. I would like to select a subtree like <gnr V="12345" ...> ... </gnr> where the attribute could be a bind parameter dynamically changing. As an output I would like to have the whole subtree with XML tags, for which I already have a perfectly good XSL stylesheet to display contents. It is working well when the subtree is stored in an .xml file which references the .xsl stylesheet. My question is: How can I organize that the ADF view is connected to the stylesheet and how can I apply all that to a .jspx ADF page? Updating the table is not a matter. Please help if you can.
    Thanks, regards
    Miklos HERBOLY

    If you already have the correct xsl file to use, you might consider creating a xsql page instead of a jspx page:
    http://people.cis.ksu.edu/~hankley/d764/tut05/Kamath_XSQL.html
    NA
    http://nickaiva.blogspot.com

  • How do I avoid ORA-01473 when querying hierarchial on tables with VPD predicates

    My question is how to circumvent what seems to be a limitation i ORACLE, if at all possible. Please read on.
    When using VPD (Virtual Private Database) predictaes on a table and performing a hierarchial query on that table I get the following error message:
    ORA-01473: cannot have subqueries in CONNECT BY CLAUSE
    My query may look like the folwing:
    SELECT FIELD
    FROM TABLE
    START WITH ID = 1
    CONNECT BY PRIOR ID = PARENT
    As my predicate contains a query in it self, I suspect that the implicit augmentation of the predicate results in a query that looks like:
    SELECT FIELD
    FROM TABLE
    START WITH ID = 1
    CONNECT BY PRIOR ID = PARENT
    AND OWNER IN (SELECT OWNER FROM TABLE2 WHERE ...)
    at least, when executing a query like the one above (with the explicit predicate) I get the identical error message.
    So my question is:
    Do you know of any way to force the predicate to augment itslef onto the WHERE-clause? I would be perfectly happy with a query that looks like:
    SELECT FIELD
    FROM TABLE
    START WITH ID = 1
    CONNECT BY PRIOR ID = PARENT
    WHERE OWNER IN (SELECT OWNER FROM TABLE2 WHERE ...)
    or do you know of any fix/patch/release to ORACLE that allows you to include subqueries in the CONNECT BY-clause and eliminates the error message?

    The WHERE clause or AND clause applies to the line directly above it. Please see the examples of valid and invalid queries below, which differ only in the placement of the WHERE or AND clause. If this is not sufficient, please provide some sample data and desired output to clarify what you need.
    -- valid:
    SQL> SELECT     empno,
      2            mgr,
      3            deptno
      4  FROM     emp
      5  WHERE     deptno IN
      6            (SELECT deptno
      7             FROM     dept
      8             WHERE     dname = 'RESEARCH')
      9  START WITH mgr = 7566
    10  CONNECT BY PRIOR empno = mgr
    11  /
         EMPNO        MGR     DEPTNO                           
          7788       7566         20                           
          7876       7788         20                           
          7902       7566         20                           
           800       7902         20                           
    -- invalid:
    SQL>
    SQL> SELECT     empno,
      2            mgr,
      3            deptno
      4  FROM     emp
      5  START WITH mgr = 7566
      6  CONNECT BY PRIOR empno = mgr
      7  WHERE     deptno IN
      8            (SELECT deptno
      9             FROM     dept
    10             WHERE     dname = 'RESEARCH')
    11  /
    WHERE      deptno IN
    ERROR at line 7:
    ORA-00933: SQL command not properly ended
    -- valid:
    SQL>
    SQL> SELECT     empno,
      2            mgr,
      3            deptno
      4  FROM     emp
      5  START WITH mgr = 7566
      6  AND     deptno IN
      7            (SELECT deptno
      8             FROM     dept
      9             WHERE     dname = 'RESEARCH')
    10  CONNECT BY PRIOR empno = mgr
    11  /
         EMPNO        MGR     DEPTNO                           
          7788       7566         20                           
          7876       7788         20                           
          7902       7566         20                           
           800       7902         20                           
    -- invalid:
    SQL>
    SQL> SELECT     empno,
      2            mgr,
      3            deptno
      4  FROM     emp
      5  START WITH mgr = 7566
      6  CONNECT BY PRIOR empno = mgr
      7  AND     deptno IN
      8            (SELECT deptno
      9             FROM     dept
    10             WHERE     dname = 'RESEARCH')
    11  /
    FROM       emp
    ERROR at line 4:
    ORA-01473: cannot have subqueries in CONNECT BY clause

  • How to count number of checkboxes selected from a table in sapui5

    Hi
    I have a table in which one of the column is checkbox.
    Now user can check 'n' number of checkboxes in the same column.
    So now i need to count the number of checkboxes selected in that column.
    how to do that..??
    Please help me on this.
    Thanks
    Sathish

    Hi Sathish,
    If you are using table mean surely you are binding the table to some model like JSON model. You can bind the checked value of the column with the checkbox in the template. So while checking you can directly check the property by taking the reference from the model. Navigate through all the objects in the model and check  the property you wanted.
    This is the logic I have used to get the checked property form the table column. My table id is "tableId" and it is being binded with "/tableModelData" of json model.
      var myModel = sap.ui.getCore().getElementById("tableId").getModel().getProperty("/tableModelData");
      for(var i= 0 ; i< myModel.length ; i++)
      var singleObject = myModel [i];
      if(singleObject.checked ==  true){
    your logic.

  • Problems when selecting from temp table

    I have a php script wich creates a temporary table with this command:
    "create global temporary table temp_ouput(...)"
    All is ok.
    Then I insert a lot of data and it doesn't complain.
    Then I attempt to select all records but I end up with an empty set. I mean, it doesn't return any records.
    What's wrong here?

    Are you using the ON COMMIT PRESERVE ROWS option? If not, your data will be deleted as soon as you commit after your insert.
    If you do use this option, you need to clear the table yourself if you are re-using the temp table within your session.

  • Selecting from XMLType

    I'm trying to execute 'insert ... select' statement inside PL/SQL stored procedure using xmlsequence function and get the folloving error:
    SQL> declare
    2 i_xml xmltype;
    3 begin
    4 select xml
    5 into i_xml
    6 from i_query_xml;
    7 insert into t
    8 select extractvalue(value(t),'//ENTITY/@NAME')
    9 from table ( xmlsequence(extract(i_xml,'//TERMS/ENTITY')) ) t;
    10 end;
    11 /
    declare
    ERROR at line 1:
    ORA-22905: cannot access rows from a non-nested table item
    ORA-06512: at line 7
    The same code works good when selecting from a table contaning XMLType column.
    Should I perform some kind of casting operation on the result of xmlsequence function?

    Does the following code look different? It works great.
    begin
    insert into t
    select extractvalue(value(t),'//ENTITY/@NAME')
    from i_query_xml x, table ( xmlsequence(extract(x.xml,'//TERMS/ENTITY')) ) t;
    end;
    Thanks

  • How to avoid data repetation when using select statements with innerjoin

    how to avoid data repetation when using select statements with innerjoin.
    thanks in advance,
    satheesh

    you can use a query like this...
      SELECT DISTINCT
             frg~prc_group1                  "Product Group 1
             frg~prc_group2                  "Product Group 2
             frg~prc_group3                  "Product Group 3
             frg~prc_group4                  "Product Group 4
             frg~prc_group5                  "Product Group 5
             prc~product_id                  "Product ID
             txt~short_text                  "Product Description
    UP TO 10 ROWS
    INTO TABLE l_i_data
    FROM
    Joining CRMM_PR_SALESG and
    COMM_PR_FRG_ROD
    crmm_pr_salesg AS frg
    INNER JOIN comm_pr_frg_rod AS prd
    ON frgfrg_guid = prdfragment_guid
    Joining COMM_PRODUCT and
    COMM_PR_FRG_ROD
    INNER JOIN comm_product AS prc
    ON prdproduct_guid = prcproduct_guid
    Joining COMM_PRSHTEXT and
    COMM_PR_FRG_ROD
    INNER JOIN comm_prshtext AS txt
    ON prdproduct_guid = txtproduct_guid
    WHERE frg~prc_group1 IN r_zprc_group1
       AND frg~prc_group2 IN r_zprc_group2
       AND frg~prc_group3 IN r_zprc_group3
       AND frg~prc_group4 IN r_zprc_group4
       AND frg~prc_group5 IN r_zprc_group5.
    reward it it helps
    Edited by: Apan Kumar Motilal on Jun 24, 2008 1:57 PM

  • ORA-01446 when selecting ROWID from View with Union

    I have a View that uses a Union to select from 3 tables. I would like the View to return the ROWID for the record that is returned so that I can update it in my form. The View compiles fine but when I select from the View I get ORA-01446 error.
    Example of my view:
    SELECT ROWID, col_a, col_b, col_c
    FROM tab_a
    UNION ALL
    SELECT ROWID, col_a, col_b, col_c
    FROM tab_b
    UNION ALL
    SELECT ROWID, col_a, col_b, col_c
    FROM tab_c
    I need the ROWID because my tables do not contain UNIQUE/PRIMARY key constraints. In my form I want to update the view with an underlying INSTEAD OF database trigger.
    Any suggestions?

    I think it will work if you give the column an alias (ie a name after the first rowid) and select that instead.
    You will probably also need another column in your view indicating which table the row came from if you want to update it.

  • How to populate a table based on a row selection from another table.

    Hi, i just started to use ADF BC and Faces. Could some one help me or point me a solution on the following scenario .
    By using a search component , a table is being displayed as a search result. If i select any row in the resulted table , i need to populate an another table at the bottom of the same page from another view. These two tables are related by primary key . May i know how to populate a table based on a row selection from another table. Thanks
    ganesh

    I understand your requirement and the tutorial doesn't talk about Association between the views so that you can create a Master-Detail or in DB parlance, a Parent-Child relationship.
    I will assume that we are dealing with two entities here: Department and Employees where a particular Department has many Employees and hence a Parent-Child relationship.
    Firstly, you need to create an Association between the two Entities - Department and Employees. You can do that by right clicking on the model's entity and then associating the two entities with the appropriate key say, DepartmentId.
    Once you have done that, you need to link the two entities in the View section with this Association that you created. Then go to AppModule and make sure that in the Available View Objects: 'EmployeesView' appears under 'DepartmentView' as "EmployeesView via <link you created>". Shuttle the 'DepartmentView' to the right, Data Model and then shuttle
    "EmployeesView via <link you created>" to the right, Data Model under 'DepartmentView'.
    This will then be reflected in your Data Controls. After that, you simply would have to drag this View into your page as a Master-Detail form...and then when you run this page, any row selected in the Master table, would display the data in the Detail table.
    Also, refer to this link: [Master-Detail|http://baigsorcl.blogspot.com/2010/03/creating-master-detail-form-in-adf.html]
    Hope this helps.

  • Ora-3113 when running sql in sqlplus mts. dedicated works fine

    when i try to execute a simple query (return 1 row), from sqlplus (in the server database) by shared connection, i recive ora-3113. by dedicated conection it works fine. environment datas : server side (windows 2003 server; 10.2.0.1).
    part of my trace file :
    nsprecv: normal exit
    nsrdr: got NSPTDA packet
    nsrdr: NSPTDA flags: 0x40
    nsrdr: normal exit
    nsdo: entry
    nsdo: cid=0, opcode=85, bl=2001, what=0, uflgs=0x0, cflgs=0x1
    nsdo: nsctx: state=6, flg=0x620d, mvd=0
    nsdo: gtn=127, gtc=127, ptn=10, ptc=2011
    nserror: entry
    nsdo: error exit
    nsdo: nsctxrnk=0
    nsdo: error exit
    nioqer: entry
    nioqer: incoming err = 12151
    nioqce: entry
    nioqce: exit
    nioqer: returning err = 3113
    nioqer: exit
    nioqrc: exit
    nioqbr: entry
    nioqbr: state = normal (0)
    nioqsm: entry
    nioqsm: Sending break packet (1)...
    nsdo: entry
    nsdo: cid=0, opcode=67, bl=1, what=17, uflgs=0x100, cflgs=0x3
    nsdo: rank=64, nsctxrnk=0
    nsdo: nsctx: state=3, flg=0x420d, mvd=0
    nsdo: nsctxrnk=0
    nsdo: error exit
    nioqsm: send-break: failed to send break...
    nioqper: error from send-marker
    nioqper: nr err code: 0
    nioqper: ns main err code: 12583
    nioqper: ns (2) err code: 0
    nioqper: nt main err code: 0
    nioqper: nt (2) err code: 0
    nioqper: nt OS err code: 0
    nioqsm: exit
    nioqer: entry
    nioqer: incoming err = 12152
    nioqce: entry
    nioqce: exit
    nioqer: returning err = 3113
    nioqer: exit
    nioqbr: returning 3113
    nioqbr: exit
    nioqds: entry
    nioqds: disconnecting...
    thanks

    Thread continued at -->
    ora-3113 when running sql in sqlplus mts. dedicated works fine

  • PL/SQL: ORA-22992: cannot use LOB locators selected from remote tables

    Dear ALL,
    My O/S is Redhatlinux 5.2 and i had Migrated my Oracle databse to 11g2. But after that while i am retrieving records through dblinks from one of my other Oracle 9.2.0.8 databse it's throwing the error : PL/SQL: ORA-22992: cannot use LOB locators selected from remote tables.* This error i am getting in TOAD as well as SQL Developer.
    Can anybody tell me how to fix this error ? Because am not able to get the records.
    Also am getting another error during retrieving data from some of my tables after migrating i.e the table which having CLOB data type while am accessing to retrieve the records using select query it's throwing the error :
    +(The following error has occurred:+
    A query with LOB's requires OCI8 mode, but OCI7 mode is used.)
    If anyone having any idea kindly share.
    Thanks and Regards
    Biswa

    Hi,
    Ya what u sent that is fine. But already am using one procudure which is accessing LOB data from another databse through DBlink and working fine. But there Both the databse are 9.2.0.8.
    But while am executing the same procedure in oracle 11g where the Dblink accessing the data from Oracle 9i , there am getting this error.
    Kindly tell if u know any resolution.
    Thanks

  • How to triger a event when select search help

    code like this
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: pa_werks LIKE t001w-werks.
    SELECTION-SCREEN COMMENT 20(10) g_werks.
    SELECTION-SCREEN END OF LINE.
    AT SELECTION-SCREEN ON pa_werks.
      g_werks = pa_werks.
    I want when select search help ,g_werk changed,but now  only press enter g_werks will be change
    how can I do ? when select a value from search help  g_werks change

    Hi,
    Use something like this:-
    PARAMETERS : p_werks TYPE t001w-werks.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_werks.
      PERFORM get_f4_help.
    *&      Form  GET_F4_HELP
    *      -->P_WERKS  text
      "populate an internal table with all possible values to be displyed
      "Use FM F4IF_INT_TABLE_VALUE_REQUEST
    Hope this helps you.
    Regards,
    Tarun

Maybe you are looking for