Is this a bug in XML SQL utility?

insertxml includes the leading and trailing spaces of a value while inserting into the varchar2 columns. Whereas the XSchema parser ignores them while parsing. Is there a work around?

Sounds like you may not have connected to the right database on the server.
Check the default database for the username/passwd combo you are logging in with.

Similar Messages

  • Unable to load Oracle XML SQL utility

    The following error appears for each java
    class, when we attempt to load Oracle XML sql
    utility into Oracle using the oraclexmlsqlload
    script:
    E.g.
    Error while resolving class OracleXMLStore
    ORA-00904: invalid column name
    Does anyone know why we would receive this error?
    Platform: Hp-UX 11.0
    Oracle Version: 8.1.5.0
    Background information:
    The database was original created with the
    compatible=8.0.5 set in the init.ora file, and
    the creatation of java classes failed due to this,
    so switched compatible to 8.1.0. Now after we
    we adjusted the compatible setting and restarted
    database, we started to receive the errors as
    described above.
    null

    Murali,
    Thank you, after I initialized Oracle's javavm
    the errors disappeared.
    The scripts were located under the javavm/install
    directory.
    Thanks again.
    Murali K (guest) wrote:
    : Hi Steven,
    : Is the JavaVM loaded. i.e. are all the classes necessary for
    : running Java in the server are loaded into the server? The
    most
    : common answer to your problem is that the javavm has not been
    : initialized correctly or the database does not have all the
    java
    : library files necessary to load java programs.
    : Please read chapter 4 in the Oracle8i java developers guide
    : which talks about initializing a java-enabled database by
    : running the initjvm script.
    : If this still occurs then maybe it is a bug and we will have
    to
    : look at it.
    : Thx
    : Murali
    : Steven Wegner (guest) wrote:
    : : The following error appears for each java
    : : class, when we attempt to load Oracle XML sql
    : : utility into Oracle using the oraclexmlsqlload
    : : script:
    : : E.g.
    : : Error while resolving class OracleXMLStore
    : : ORA-00904: invalid column name
    : : Does anyone know why we would receive this error?
    : : Platform: Hp-UX 11.0
    : : Oracle Version: 8.1.5.0
    : : Background information:
    : : The database was original created with the
    : : compatible=8.0.5 set in the init.ora file, and
    : : the creatation of java classes failed due to this,
    : : so switched compatible to 8.1.0. Now after we
    : : we adjusted the compatible setting and restarted
    : : database, we started to receive the errors as
    : : described above.
    null

  • XML SQL Utility, Unicode

    Hi,
    I have some questions to the XML-SQL-Utility:
    1.) Is there a bug in the oracle.xml.sql.query class:
    OracleXMLQuery qry = new OracleXMLQuery(conn,"select POSITION from DATAS");
    qry.setRowTag("DROW");
    OracleXMLDocGenDOM gdoc = new OracleXMLDocGenDOM();
    qry.getXML(gdoc);
    conn.close();
    Document docin = gdoc.getXMLDocumentDOM();
    NodeList rows = docin.getDocumentElement().getElementsByTagName("DROW");
    // The Node "DROW" wasn't found.
    // It work if I do it below
    NodeList rows = docin.getDocumentElement().getElementsByTagName("ROW");
    // It doesn't matter what is set in the "qry1.setRowTag("DROW");"
    (I use the sun parser)
    2.) I have a problem by insertXML(Document);
    I will insert a Document with a structure as below in my database:
    <?xml version="1.0" encoding="UTF-16"?>
    <ROOTDOC>
    <ROW>
    <DOCUMENTREF>133-12224</DOCUMENTREF>
    <TEXT>hello</TEXT>
    </ROW>
    <ROW>
    <DOCUMENTREF>133-124</DOCUMENTREF>
    <TEXT>world</TEXT>
    </ROW>
    </ROOTDOC>
    XmlDocument sdoc = new XmlDocument();
    Element rootDEl = sdoc.createElement("ROOTDOC");
    sdoc. appendChild(rootDEl);
    Element rowEl = sdoc.createElement("ROW");
    Element docREl = sdoc.createElement("DOCUMENTREF");
    docREl.appendChild(sdoc.createTextNode("133-12224"));
    NodeList rows = sdoc.getDocumentElement().getElementsByTagName("ROW");
    int size = rows.getLength();
    System.out.println("SIZE: " size "\n");
    // The size is null, what's wrong ?
    OracleXMLSave save = new OracleXMLSave(conn, tabName);
    int rowCount = save.insertXML(sdoc);
    // It didn't insert something in my table !
    3.) I save Unicode UTF-16 in my database with the XML SQL Utility:
    <?xml version="1.0" encoding="UTF-16"?>
    <ROOTDOC>
    <ROW>
    <TEXT>D$55DD</TEXT>
    </ROW>
    <ROW>
    <TEXT>tt%zu||</TEXT>
    If I read it whit the oracle.xml.sql.query, it is Unicode UTF-8:
    OUTPUT IS:
    <?xml version="1.0"?>
    <ROOTDOC>
    <ROW num="1">
    <TEXT>D$55--</TEXT>
    </ROW>
    <ROW num="2">
    <TEXT>tt%zu33</TEXT>
    </ROW>
    I want a output as the input (Unicode UTF-16).
    Can anyone please advise on the problems.
    Thanks
    null

    Hi H.Ozawa,
    thanks for trying but non of the solution helped me, sorry.
    Question 1:
    I'll try it again like this:
    OracleXMLQuery qry = new OracleXMLQuery(conn,"select POSITION from DATAS");
    qry.setRowTag("DROW");
    Document docin = qry.getXMLDOM();
    conn.close();
    NodeList rows = docin.getDocumentElement().getElementsByTagName("DROW");
    // The Node "DROW" wasn't found.
    Question 2:
    <?xml version="1.0" encoding="UTF-16"?>
    <ROOTDOC>
    <ROW>
    <DOCUMENTREF>133-12224</DOCUMENTREF>
    <TEXT>hello</TEXT>
    </ROW>
    <ROW>
    <DOCUMENTREF>133-124</DOCUMENTREF>
    <TEXT>world</TEXT>
    </ROW>
    </ROOTDOC>
    XmlDocument sdoc = new XmlDocument();
    Element rootDEl = sdoc.createElement("ROOTDOC");
    sdoc. appendChild(rootDEl);
    Element rowEl = sdoc.createElement("ROW");
    Element docREl = sdoc.createElement("DOCUMENTREF");
    docREl.appendChild(sdoc.createTextNode("133-12224"));
    Element docTEl = sdoc.createElement("TEXT");
    docTEl.appendChild(sdoc.createTextNode("hello"));
    An error message occur:
    java.lang.reflect.InvocationTargetException: java.lang.IllegalAccessError: try to access class com/sun/xml/tree/ParentNode from class project/dbase/xmlwritedb at project.dbase.xmlwritedb.main(xmlwritedb.java:33)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.borland.jbuilder.util.BootStrap.invokeMain(Unknown Source)
    at com.borland.jbuilder.util.BootStrap.main(Unknown Source)
    Question 3:
    I try it like below but the output is "UTF-8" encoding
    OracleXMLDocGenDOM gdoc = new OracleXMLDocGenDOM();
    query.getXML(gdoc);
    XMLDocument docin = (XMLDocument)gdoc.getXMLDocumentDOM();
    docin.setEncoding("ISO-8859-1"); //docin.setEncoding("UTF-16");
    NodeList rows = docin.getDocumentElement().getElementsByTagName("ROW");
    Element row = (Element)rows.item( i );
    NodeList elements = row.getElementsByTagName( "DOCUMENTREF" );
    So you or someone have another idea to fix this problems.
    Thanks
    null

  • XML SQL Utility problem

    Hi,
    I'm trying to use the XML SQL Utility against a 8.0.5 database.
    I coded a basic query against the SCOTT.EMP table.
    I've instantiated an OracleXMLQuery object using both types of
    constructors (i.e. Connection + ResultSet or query String). In
    both cases the resulting XML String contains:
    <?xml version="1.0"?>
    <ERROR>Closed Resultset</ERROR>
    I know that my Connection and ResultSet objects are valid because
    I examined the ResultSet contents using standard JDBC getXXX
    methods for the same Connection and query. I am establishing my
    Connection using the thin driver. Is this the problem? Can you
    also elaborate on the Oracle specific requirements for this API?
    For example, will the API work for Connection and ResultSet
    objects against non-Oracle databases? Thanks.
    Fred
    null

    Hi Fred,
    The closed ResultSet problem would occur when u are trying to
    re-use the same object,
    e.g.
    OracleXMLQuery oxq = new OracleXMLQuery(conn,resultsetobject);
    // get the string..
    String xmlString = oxq.getXMLString();
    By default OracleXMLQuery closes the ResultSet after
    completion. so if u use.
    xmlString = oxq.getXMLString();
    again, you will get this error.
    To overcome this there is a call called keepCursorAlive() which
    takes in a boolean value. So call that function on oxq before
    getting the first string and everything will be all right.
    Currently we also close the resultSet given by the user. This
    is a bug (we should only close our internal resultset) and we
    will fix it in the next drop. Also we will make this error
    message much more legible!
    Regarding working against other databases, we use Oracle
    specific stuff currently in case of object features such as
    ADTs, REFs and collections and LOBs. For regular relational data
    such as number, varchar etc.., we don't do anything special.
    So for plain relational data this should work against
    ResultSet and Connection objects created from other databases.
    But to be honest, we haven't tested that out. So if you do
    indeed run into any problems with other databases, please let us
    know and we will try to fix it.
    Thx
    Murali
    Fred Criscuolo (guest) wrote:
    : Hi,
    : I'm trying to use the XML SQL Utility against a 8.0.5 database.
    : I coded a basic query against the SCOTT.EMP table.
    : I've instantiated an OracleXMLQuery object using both types of
    : constructors (i.e. Connection + ResultSet or query String).
    In
    : both cases the resulting XML String contains:
    : <?xml version="1.0"?>
    : <ERROR>Closed Resultset</ERROR>
    : I know that my Connection and ResultSet objects are valid
    because
    : I examined the ResultSet contents using standard JDBC getXXX
    : methods for the same Connection and query. I am establishing
    my
    : Connection using the thin driver. Is this the problem? Can
    you
    : also elaborate on the Oracle specific requirements for this
    API?
    : For example, will the API work for Connection and ResultSet
    : objects against non-Oracle databases? Thanks.
    : Fred
    null

  • XML SQL utility ( Urgent)

    Hi,
    I am trying to install XML SQL utility. I have jdk1.2.2 and
    oracle xml parser v2. I ran the env.bat file. Then when I try to
    run the oraclexmlsqlload.sql file i got 822 errors. Then I try
    to run the first file "loadjava -resolve -verbose -user %
    USER_PASSWORD% xmlparser.jar" I got some these kind of errors,
    resolving: org/w3c/dom/html/HTMLBodyElement
    Error while resolving class org/w3c/dom/html/HTMLBodyElement
    ORA-04043: object org/w3c/dom/html/HTMLBodyElement does not
    exist
    resolving: org/xml/sax/helpers/LocatorImpl
    Error while resolving class org/xml/sax/helpers/LocatorImpl
    ORA-04043: object org/xml/sax/helpers/LocatorImpl does not
    exist
    resolving: oracle/xml/parser/v2/Axis
    Error while resolving class oracle/xml/parser/v2/Axis
    ORA-04043: object oracle/xml/parser/v2/Axis does not exist
    resolving: oracle/xml/parser/v2/PathExpr
    Error while resolving class oracle/xml/parser/v2/PathExpr
    ORA-04043: object oracle/xml/parser/v2/PathExpr does not
    exist
    resolving: oracle/xml/parser/v2/FromDescPrecedingSibling
    Error while resolving class
    oracle/xml/parser/v2/FromDescPrecedingSibling
    ORA-04043: object
    oracle/xml/parser/v2/FromDescPrecedingSibling does not exi
    st
    "I GOT SOME VIEW/TABLE DOES NOT EXIST ERROR ALSO"
    Here is my env.bat file..................
    rem Copyright (c) Oracle Corporation 1999. All Rights Reserved.
    rem
    rem NAME
    rem env
    rem
    rem DESCRIPTION
    rem environmental variables needed to compile or run
    OracleXML utility
    rem
    rem ------------------------ oraclexmlsql utility directory path
    rem set PD to point to the directory in which you expanded the
    zip file
    set PD=C:\Oracletools\OracleXSU
    rem ------------------------ JDBC classes
    set CLASSPATHJ=D:\Oracle\Ora8i\jdbc\lib\classes111.zip
    rem ------------------------
    rem This need not be changed
    set XMLSQL_DIR=%PD%\lib\oraclexmlsql.jar;%PD%;%PD%\src;%PD%\lib;%
    PD%\sample
    rem ------------------------ Oracle XML parser settings
    rem This need not be changed
    set ORACLE_PARSER=%PD%\lib\xmlparser.jar
    rem ------------------------ JDK_HOME
    set JDK_HOME=C:\JDK1.2.2
    rem ------------------------ CLASSPATH settings
    set CLASSPATH=%ORACLE_PARSER%;%CLASSPATHJ%;%JDK_HOME%
    \lib\classes.zip;%XMLSQL_DIR%;%CLASSPATH%
    I need urgent help from you...........
    Thanks,
    Chandran...
    null

    Hi,
    Here is the problem. As per your suggestion I had installed
    Jdk1.8.8 and jdbc driver too. Though I am having one JDBC driver
    in oracle8i, I have downloaded from your site and set the env
    path and run the env.bat file. Then when I tried to execute the
    Java OracleXML getXML -user "scott/tiger" "select * from emp"
    file I got runtime error. But first time what I did was I had
    already run the oraclexmlsqlload file so there are lot of
    chances for OracleXML class file to be deleted. So Again I ran
    the oraclexmlsqlload bat file, so definitely it should load the
    oraclexmlsql file and xmlparser file. I didn't get any error. So
    I tried the file for xmlgenpkg it says package created with no
    errors and when I tried the oraclexmlsqltest file I got the same
    error...what I did get yesterday............
    Here is the output , please help me out....
    SQL> @C:\Oracletools\OracleXSU\lib\oraclexmlsqltest.sql;
    SQL> Rem
    SQL> Rem $Header: oraclexmlsqltest.sql 27-jul-99.22:53:37
    vnimani Exp $
    SQL> Rem
    SQL> Rem oraclexmlsqltest.sql
    SQL> Rem
    SQL> Rem Copyright (c) Oracle Corporation 1999. All Rights
    Reserved.
    SQL> Rem
    SQL> Rem NAME
    SQL> Rem oraclexmlsqltest.sql - <one-line expansion of
    the name>
    SQL> Rem
    SQL> Rem DESCRIPTION
    SQL> Rem <short description of component this file
    declares/defines>
    SQL> Rem
    SQL> Rem NOTES
    SQL> Rem <other useful comments, qualifications, etc.>
    SQL> Rem
    SQL> Rem MODIFIED (MM/DD/YY)
    SQL> Rem vnimani 07/27/99 - add testing for
    setStyleSheetType
    SQL> Rem vnimani 06/19/99 -
    Rem mkrishna 06/13/99 -
    Rem mkrishna 06/13/99 - add more testsSQL> Rem mkrishna 05/27/99 - sql testing the db loaded util
    SQL> Rem mkrishna 05/27/99 - Created
    SQL> Rem
    SQL>
    SQL> Rem Do not set serveroutput to be on here. There are
    problems (bug) when the
    SQL> Rem serveroutput is turned on before the last PL/SQL block
    is executed.
    SQL>
    SQL> set long 4000
    SQL> set pages 8000
    SQL> set echo on
    SQL>
    SQL> Rem Use these to test the results..
    SQL> select xmlgen.getXML('select * from scott.emp',1) from dual;
    select xmlgen.getXML('select * from scott.emp',1) from dual
    ERROR at line 1:
    ORA-29540: class OracleXMLStore does not exist
    ORA-06512: at "SCOTT.XMLGEN", line 83
    ORA-06512: at "SCOTT.XMLGEN", line 83
    ORA-06512: at line 1
    SQL> select xmlgen.getXML('select * from all_Tables where
    owner=''SCOTT''') from dual;
    select xmlgen.getXML('select * from all_Tables where
    owner=''SCOTT''') from dual
    ERROR at line 1:
    ORA-29540: class OracleXMLStore does not exist
    ORA-06512: at "SCOTT.XMLGEN", line 83
    ORA-06512: at "SCOTT.XMLGEN", line 83
    ORA-06512: at line 1
    SQL>
    SQL> Rem
    SQL>
    SQL>
    SQL> commit;
    Commit complete.
    Thanks,
    Chan...
    Oracle XML Team wrote:
    : Hi Chan,
    : Soon we will release a version of the XSU which runs with
    : JDK1.2 but for now the XSU requires JDK1.1.x. Also, your
    : Oracle8i (or later) database must be java enabled.
    : for starters, try and run the command line front end of the
    : utility:
    : java OracleXML getXML -user "scott/tiger" "select * from emp"
    : once you get this part running then proceed trying to load
    the
    : utility into the db. Note, to run the command line front end
    you
    : will need to have the Oracle JDBC drivers for use with
    JDK1.1.x.
    : They are freely available from:
    : technet.oracle.com/tech/java/sqlj_jdbc
    : Chan (guest) wrote:
    : : Hi,
    : : I am trying to install XML SQL utility. I have jdk1.2.2
    and
    : : oracle xml parser v2. I ran the env.bat file. Then when I try
    : to
    : : run the oraclexmlsqlload.sql file i got 822 errors. Then I
    try
    : : to run the first file "loadjava -resolve -verbose -user %
    : : USER_PASSWORD% xmlparser.jar" I got some these kind of
    errors,
    : : resolving: org/w3c/dom/html/HTMLBodyElement
    : : Error while resolving class org/w3c/dom/html/HTMLBodyElement
    : : ORA-04043: object org/w3c/dom/html/HTMLBodyElement does
    not
    : : exist
    : : resolving: org/xml/sax/helpers/LocatorImpl
    : : Error while resolving class org/xml/sax/helpers/LocatorImpl
    : : ORA-04043: object org/xml/sax/helpers/LocatorImpl does
    not
    : : exist
    : : resolving: oracle/xml/parser/v2/Axis
    : : Error while resolving class oracle/xml/parser/v2/Axis
    : : ORA-04043: object oracle/xml/parser/v2/Axis does not
    exist
    : : resolving: oracle/xml/parser/v2/PathExpr
    : : Error while resolving class oracle/xml/parser/v2/PathExpr
    : : ORA-04043: object oracle/xml/parser/v2/PathExpr does not
    : : exist
    : : resolving: oracle/xml/parser/v2/FromDescPrecedingSibling
    : : Error while resolving class
    : : oracle/xml/parser/v2/FromDescPrecedingSibling
    : : ORA-04043: object
    : : oracle/xml/parser/v2/FromDescPrecedingSibling does not exi
    : : st
    : : "I GOT SOME VIEW/TABLE DOES NOT EXIST ERROR ALSO"
    : : Here is my env.bat file..................
    : : rem Copyright (c) Oracle Corporation 1999. All Rights
    : Reserved.
    : : rem
    : : rem NAME
    : : rem env
    : : rem
    : : rem DESCRIPTION
    : : rem environmental variables needed to compile or run
    : : OracleXML utility
    : : rem
    : : rem ------------------------ oraclexmlsql utility directory
    : path
    : : rem set PD to point to the directory in which you expanded
    the
    : : zip file
    : : set PD=C:\Oracletools\OracleXSU
    : : rem ------------------------ JDBC classes
    : : set CLASSPATHJ=D:\Oracle\Ora8i\jdbc\lib\classes111.zip
    : : rem ------------------------
    : : rem This need not be changed
    : : set
    : XMLSQL_DIR=%PD%\lib\oraclexmlsql.jar;%PD%;%PD%\src;%PD%\lib;%
    : : PD%\sample
    : : rem ------------------------ Oracle XML parser settings
    : : rem This need not be changed
    : : set ORACLE_PARSER=%PD%\lib\xmlparser.jar
    : : rem ------------------------ JDK_HOME
    : : set JDK_HOME=C:\JDK1.2.2
    : : rem ------------------------ CLASSPATH settings
    : : set CLASSPATH=%ORACLE_PARSER%;%CLASSPATHJ%;%JDK_HOME%
    : : \lib\classes.zip;%XMLSQL_DIR%;%CLASSPATH%
    : : I need urgent help from you...........
    : : Thanks,
    : : Chandran...
    : Oracle Technology Network
    : http://technet.oracle.com
    null

  • XML SQL Utility - settagcase - all tags are upper or lower

    I am using the XML SQL Utility (XSU) for PL/SQL to generate a xml document from some tables and objects. Is it possible to have the xml elements start and end tags appear in the case of the objects I have defined (i.e. CamelCase)? I can either have them appear as all upper or all lower case. However the oracle documentation has a SETTAGCASE function with an option for "as are". Is this supposed to allow for the case to follow how i have defined the fields in the object? If not is there a way?
    For example here is an object
    create or replace TYPE     CREDIT_APPLICANTTYPE AS OBJECT
      First VARCHAR2(15 BYTE),
      Last  VARCHAR2(35 BYTE),
      Middle VARCHAR2(1 BYTE),
      Suffix VARCHAR2(3 BYTE)
    );Settagcase 0 option doesn't seem to do anything different than the upper_case option when i generate the xml
    http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_xmlque.htm#i1033636
    set serveroutput on
    declare
      queryCtx dbms_xmlquery.ctxType;
      charstring VARCHAR2(255);
      outxml CLOB;
    begin
        queryCtx := dbms_xmlquery.newContext('select CREDIT_APPLICANTTYPE(''Joe'',''Smith'',''A'',''Jr.'') as AppName from dual');
        dbms_xmlquery.settagcase(queryCtx, 0);
        outxml := dbms_xmlquery.getXml(queryCtx);
        dbms_xmlquery.closeContext(queryCtx);
        charstring := dbms_lob.substr(outxml, 255, 1);
        dbms_output.put_line(charString);
    end;Output is in uppercase but i would like camel case:
    <?xml version = '1.0'?>
    <ROWSET>
    <ROW num="1">
    <APPNAME>
    <FIRST>Joe</FIRST>
    <LAST>Smith</LAST>
    <MIDDLE>A</MIDDLE>
    <SUFFIX>Jr.</SUFFIX>
    </APPNAME>
    </ROW>
    </ROWSET>

    Actually I figured out the issue. Oracle automatically outputs the column alias as upper case unless you put it in quotes. I defined my object like this and it works with settagcase 0
    create or replace TYPE CREDIT_APPLICANTTYPE AS OBJECT
    "First" VARCHAR2(15 BYTE),
    "Last" VARCHAR2(35 BYTE),
    "Middle" VARCHAR2(1 BYTE),
    "Suffix" VARCHAR2(3 BYTE)
    );

  • Generating multi-level XML in Oracle 8i using XML-SQL utility

    Oracle 8i has a limitation when it comes to the object types. Only one-level nesting of collection is allowed. Oracle 9i apparently removes this limitation.
    I am trying to generate XML for a hierarchical (conceptually) structure. To do that I am using XML-SQL utility (XSU) running agains an object view build on top of the relational data. The problem is the limit to onelevels of colelction nesting. Oracle 8i gives you a way to create a view with more levels of nesting by using references (REF). The problem is that when XSU runs agains a view with the references, it inserts the references into the XML document (instead of dereferencing them).
    Is there a way to generate XML with Oracle 8i with more than two levels of collection nesting?
    Thank you.
    Michael

    Oracle 8i has a limitation when it comes to the object types. Only one-level nesting of collection is allowed. Oracle 9i apparently removes this limitation.
    I am trying to generate XML for a hierarchical (conceptually) structure. To do that I am using XML-SQL utility (XSU) running agains an object view build on top of the relational data. The problem is the limit to onelevels of colelction nesting. Oracle 8i gives you a way to create a view with more levels of nesting by using references (REF). The problem is that when XSU runs agains a view with the references, it inserts the references into the XML document (instead of dereferencing them).
    Is there a way to generate XML with Oracle 8i with more than two levels of collection nesting?
    Thank you.
    Michael

  • XML SQL utility

    Hi,
    When I try to execute this query using XML SQL utility
    I am getting the following error. I had declared 'XMLGEN &
    GETXML' as CLOB and tried but got the same error. Advice me. I
    am struggling to find the solution using XSQL Servlet..but
    couldn't get..I spend one week on that..no results...this is the
    second trial. Is there any online help or service to do that.
    xmlString := xmlgen.getXML('select * from scott.emp');
    ERROR at line 9:
    ORA-06550: line 9, column 16:
    PLS-00201: identifier 'XMLGEN.GETXML' must be declared
    ORA-06550: line 9, column 3:
    PL/SQL: Statement ignored
    I have Oracle XML parser for Java 2, and XML SQL utility and
    oracle 8i database....
    This is the query.........(Your example)
    declare
    xmlString CLOB;
    amount integer:= 4000;
    position integer := 1;
    charString varchar2(4000);
    i binary_integer := 0;
    inclDTD number := 0;
    begin
    xmlString := xmlgen.getXML('select * from scott.emp');
    dbms_lob.open(xmlString,DBMS_LOB.LOB_READONLY);
    loop
    dbms_lob.read(xmlString,amount,position,charString);
    dbms_output.put_line(charString);
    position := position + amount;
    end loop;
    exception
    when no_data_found then
    dbms_lob.close(xmlString);
    dbms_lob.freetemporary(xmlString);
    end;
    null

    Have you loaded the xmlgenpkg.sql in the schema in which you
    are trying to execute your PL/SQL block?
    Chan (guest) wrote:
    : Hi,
    : When I try to execute this query using XML SQL utility
    : I am getting the following error. I had declared 'XMLGEN &
    : GETXML' as CLOB and tried but got the same error. Advice me. I
    : am struggling to find the solution using XSQL Servlet..but
    : couldn't get..I spend one week on that..no results...this is
    the
    : second trial. Is there any online help or service to do that.
    : xmlString := xmlgen.getXML('select * from scott.emp');
    : ERROR at line 9:
    : ORA-06550: line 9, column 16:
    : PLS-00201: identifier 'XMLGEN.GETXML' must be declared
    : ORA-06550: line 9, column 3:
    : PL/SQL: Statement ignored
    : I have Oracle XML parser for Java 2, and XML SQL utility and
    : oracle 8i database....
    : This is the query.........(Your example)
    : declare
    : xmlString CLOB;
    : amount integer:= 4000;
    : position integer := 1;
    : charString varchar2(4000);
    : i binary_integer := 0;
    : inclDTD number := 0;
    : begin
    : xmlString := xmlgen.getXML('select * from scott.emp');
    : dbms_lob.open(xmlString,DBMS_LOB.LOB_READONLY);
    : loop
    : dbms_lob.read(xmlString,amount,position,charString);
    : dbms_output.put_line(charString);
    : position := position + amount;
    : end loop;
    : exception
    : when no_data_found then
    : dbms_lob.close(xmlString);
    : dbms_lob.freetemporary(xmlString);
    : end;
    Oracle Technology Network
    http://technet.oracle.com
    null

  • XML SQL Utility:Why it doesn't work?

    I am trying to use the XML SQL Utility
    by modifying the given example samp1.java
    for the JDBC-ODBC driver but errors emerged.
    Is there any thing wrong? Thanks.
    (The classpath setting is ok, I think)
    ***** Here is the error message:
    D:\OracleXSU\sample>java Sample
    Exception in thread "main" java.lang.NoClassDefFoundError: oracle/sql/Datum
    at oracle.xml.sql.query.OracleXMLQuery.<init>(OracleXMLQuery.java:127)
    at Sample.main(Sample.java:42)
    D:\OracleXSU\sample>
    ***** Here is the source code:
    /** Simple example on using Oracle XMLSQL API; this class queries the database with "select * from emp" in scott/tiger schema; then from the results of query it generates an XML document */
    import java.sql.*;
    import java.math.*;
    import oracle.xml.sql.query.*;
    // import oracle.jdbc.*;
    // import oracle.jdbc.driver.*;
    public class Sample
    //========================================
    // main() - public static void
    public static void main(String args[]) throws SQLException
    String tabName = "sbook";
    String user = "scott/tiger";
    try {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    } catch(java.lang.ClassNotFoundException e) {
    System.err.print("ClassNotFoundException: ");
    System.err.println(e.getMessage());
    // DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    //init a JDBC connection
    // Connection conn =
    // DriverManager.getConnection("jdbc:oracle:oci8:"+user+"@");
    Connection conn = DriverManager.getConnection("jdbc:odbc:SQLUtil");
    // create statement and execute it to get the ResultSet
    Statement stmt = conn.createStatement();
    ResultSet rset = stmt.executeQuery("select * from "+tabName );
    if(rset!=null)
    // init the OracleXMLQuery; note we could have passed the sql query string
    // instead of the ResultSet
    OracleXMLQuery qry = new OracleXMLQuery(conn,rset);
    // get the XML document is the string format
    String xmlString = qry.getXMLString();
    // print out the result
    System.out.println(" OUPUT IS:\n"+xmlString);
    null

    Firstly I think it is because the XML SQL Utility does not work with JDBC-ODBC driver.
    So I try it again with Oracle driver.
    But it still doesn't work? Why?
    ***** Here is the source code:
    /** Simple example on using Oracle XMLSQL API; this class queries the database with "select * from emp" in scott/tiger schema; then from the results of query it generates an XML document */
    import java.sql.*;
    import java.math.*;
    import oracle.xml.sql.query.*;
    import oracle.jdbc.*;
    import oracle.jdbc.driver.*;
    public class Sample2
    //========================================
    // main() - public static void
    public static void main(String args[]) throws SQLException
    String tabName = "emp";
    String user = "scott/tiger";
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    //init a JDBC connection
    // Connection conn =
    // DriverManager.getConnection("jdbc:oracle:oci8:"+user+"@");
    //init a JDBC connection
    Connection conn = DriverManager.getConnection ("...Connection information...");
    // create statement and execute it to get the ResultSet
    Statement stmt = conn.createStatement();
    // ResultSet rset = stmt.executeQuery("select * from "+tabName );
    ResultSet rset = stmt.executeQuery("select * from COFFEES" );
    // Test if connection is sucessful -- it works!
    int i=0;
    while(rset.next())
    i++;
    System.out.println("Total rows="+i);
    // init the OracleXMLQuery; note we could have passed the sql query string
    // instead of the ResultSet
    OracleXMLQuery qry = new OracleXMLQuery(conn,rset);
    // get the XML document is the string format
    String xmlString = qry.getXMLString();
    // print out the result
    System.out.println(" OUPUT IS:\n"+xmlString);
    null

  • Updating a database using XML SQL Utility

    Hi all,
    It seems that the Oracle XML SQL Utility provides only to insert rows into a table/view. However, if one wants to update a table from an XML no support is available.
    How does one proceed if this is to be achieved?
    Thanks in advance.
    Regards,
    Manoj
    null

    While inserting i get a
    oracle.xml.sql.OracleXMLSQLException and further a
    NumberFormatException. Which parameter do I have to set to avoid
    these Exceptions. I can insert the file in my local db but I get
    the Exception on the server db. The value I want to insert for
    expample is 30,1. Maybe the JDBC-Driver tries to convert the String ;30,1+ to an
    Integer-Object. This will cause the described Exception since
    the Integer-Class requires ;.+ instead of ;,+ for decimal point.
    I have another problem generating an xmlfile when there
    are "Umlaute" in the data. E.g. V and \. Exchanging these to Oe
    and Ue than it works fine.Use ISO-8859-1 character set to work with umlauts, e.g.:
    <?xml version = '1.0' encoding = 'ISO-8859-1'?>
    .. but you can use the default UTF-8 encoding too, umlauts will
    be replaced by equivalents as ;C&#376;+
    Alex

  • Re: usage of XML SQL Utility

    Hi there,
    I have such a design issue, which I posted a few days ago and I reworded here. Hopefully, I made it clearer this time.
    The working scenario, coded in Java, goes like this:
    1> Given an XML string, I parse it out and get a set of values for a certain set of elements, say in one ROW.
    2> I embed this set of values in the WHERE clause of a query string, do a SELECT.
    3> Based on the result from the above SELECT, I do UPDATE, SELECT and INSERT to a few tables.
    My question:
    Could Oracle XML SQL Utility be used here? If yes, how?
    From my reading so far, the Oracle XSU handles the SQL-XML and XML-SQL Mapping very well, in terms of a whole XML string. But, if at some point, I want to break the XML string and get some business logic mingled in it, say a simple calculation, how can I efficiently deal with it?
    Any suggestion would be greatly appreciated. Thanks.
    ---Denali
    null

    Here are the five choices I see:
    [list]
    [*] XSU111_ver1_2_1.zip -- to be used with JDBC1.x (JDK1.1.x or later) and loadable into Oracle8.1.5 (486 KB)
    [*] XSU12_ver1_2_1.zip -- to be used with JDBC2.0 (JDK1.2.x or later) and loadable into Oracle8.1.6 or later (508 KB)
    [*] XSU111_816_ver2_1_0_beta.zip -- to be used with JDBC1.0 and JDK1.1.8 (486 KB)
    [*] XSU12_816_ver2_1_0_beta.zip -- to be used with JDBC2.0 (JDK1.2.x or later) and loadable into Oracle8.1.6 (486 KB)
    [*] XSU12_ver2_1_0_beta.zip -- to be used with JDBC2.0 (JDK1.2.x or later) and loadable into Oracle8.1.7 or later (508 KB)
    [list]

  • Xml sql utility limitation

    Hi, Oracle:
    Are there upper limit with regard to OracleXMLSave.insertXML(),
    such as upper limit for field size, upper limit for file size,
    uppper limit for number of columns you can have, upper limit for
    number of rows(records) you could have?
    Prompt response will be greatly appreciated!
    Thanks,
    Tony
    null

    First, let me thank you for the reply.
    Here is the situation: I want to insert a xml file about 3 MB
    into an Oracle 8.0.5 table, in the table, I have a field called
    resume which is of type LONG. I am using OracleXMLSave.insertXML
    to do the insertion and oci8 jdbc connection. Here the error
    messsage I got:
    SIGSEGV 11* segmentation violation
    si_signo [11]: SIGSEGV 11* segmentation violation
    si_errno [0]:
    si_code [1]: SEGV_MAPERR [addr: 0x342c9fe8]
    stackbase=EFFFF298, stackpointer=EFFFD5D4
    Full thread dump:
    "SIGQUIT handler" (TID:0xed6662a0, sys_thread_t:0xfb400,
    state:R, thread_t: t@5, sp:0xef373a90 threadID:0xef373de0,
    stack_base:0xef373d74, stack_size:0x22000) prio=0
    "Finalizer thread" (TID:0xed666088, sys_thread_t:0xfb370,
    state:CW, thread_t: t@4, sp:0xef473a30 threadID:0xef473de0,
    stack_base:0xef473d74, stack_size:0x22000) prio=1
    "main" (TID:0xed6660b0, sys_thread_t:0xedff8, state:R,
    thread_t: t@1, sp:0xefffedd8 threadID:0x20a18,
    stack_base:0xeffff298, stack_size:0x800000) prio=5 *current
    thread*
    oracle.jdbc.oci8.OCIDBAccess.executeFetch(Compiled Code)
    oracle.jdbc.driver.OracleStatement.doExecuteOther
    (Compiled Code)
    oracle.jdbc.driver.OracleStatement.doExecuteWithBatch
    (Compiled Code)
    oracle.jdbc.driver.OracleStatement.doExecute(Compiled
    Code)
    oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout
    (Compiled Code)
    oracle.jdbc.driver.OraclePreparedStatement.executeUpdate
    (Compiled Code)
    oracle.jdbc.driver.OraclePreparedStatement.execute
    (Compiled Code)
    oracle.xml.sql.dml.OracleXMLSave.insertNodeVal(Compiled
    Code)
    oracle.xml.sql.dml.OracleXMLSave.insertXML(Compiled Code)
    oracle.xml.sql.dml.OracleXMLSave.insertXML(Compiled Code)
    TestSave.main(Compiled Code)
    Monitor Cache Dump:
    oracle.jdbc.oci8.OCIDBAccess@ED66A7E8/ED751B68: owner "main"
    (0xedff8, 1 entry)
    oracle.jdbc.driver.OracleCallableStatement@ED6D0390/EDF17818:
    owner "main" (0xedff8, 2 entries)
    Registered Monitor Dump:
    PCMap lock: <unowned>
    Thread queue lock: <unowned>
    Name and type hash table lock: <unowned>
    String intern lock: <unowned>
    JNI pinning lock: <unowned>
    JNI global reference lock: <unowned>
    BinClass lock: <unowned>
    Class loading lock: <unowned>
    Java stack lock: <unowned>
    Code rewrite lock: <unowned>
    Heap lock: <unowned>
    Has finalization queue lock: <unowned>
    Finalize me queue lock: <unowned>
    Waiting to be notified:
    "Finalizer thread" (0xfb370)
    Monitor registry: owner "main" (0xedff8, 1 entry)
    Abort
    ======= End of error message ========
    If I have a smaller size file, such as 1MB, it works. What could
    be wrong? Oracle JDBC driver? the implementation of
    OracleXMLSave.insertXML?
    Here is the source code of my java program:
    import oracle.xml.sql.dml.*;
    import java.io.*;
    import java.sql.*;
    import oracle.jdbc.driver.*;
    public class TestSave {
    public static void main(String args[])
    if (args.length != 2) {
    System.out.println("Usage: java TestSave tablename
    filename");
    System.exit(1);
    Connection conn;
    String tablename = args[0];
    String filename = args[1];
    try{
    Class.forName("oracle.jdbc.driver.OracleDriver");
    conn = DriverManager.getConnection("jdbc:oracle:oci8:@econ",
    "rich", "roy33");
    OracleXMLSave xmlSave = new OracleXMLSave(conn, tablename);
    System.out.println("xmlSave = " + xmlSave);
    int num_row ;
    java.net.URL url=xmlSave.createURL(filename);
    System.out.println("url="+url);
    num_row=xmlSave.insertXML(url);
    System.out.println("num_row: " + num_row);
    catch(Exception e)
    e.printStackTrace();
    }// end main
    }// end TestSave
    ======= End of source code ====================
    Any suggestions? Please help!!!
    Tony
    Oracle XML Team wrote:
    : Hi Tony,
    : I tried out an example with > 4000 binds and it seemed to
    work
    : with 3 clobs. How big is the sample? Can u attach a small
    sample
    : (dont have to have the big file. just the structure of the
    XML?).
    : Also currently the XML SQL utility simply binds CLOB columns
    as
    : strings. We will fix that so that it creates temp CLOBs and
    : binds them. In that way you will not get into this problem.
    : Thx
    : Oracle XML team
    : Tony (guest) wrote:
    : : All right, I got a problem already. I have a table has 2
    clob
    : : columns, this is the message I got:
    : : oracle.xml.sql.OracleXMLSQLException: java.sql.SQLException:
    : ORA-
    : : 01026: multiple buffers of size > 4000 in the bind list
    : : at java.lang.Throwable.<init>(Compiled Code)
    : : at java.lang.Exception.<init>(Compiled Code)
    : : at java.lang.RuntimeException.<init>(Compiled Code)
    : : at oracle.xml.sql.OracleXMLSQLException.<init>
    : (Compiled
    : : Code)
    : : at oracle.xml.sql.dml.OracleXMLSave.insertXML
    (Compiled
    : : Code)
    : : at oracle.xml.sql.dml.OracleXMLSave.insertXML
    (Compiled
    : : Code)
    : : at TestSave.main(Compiled Code)
    : : Does above mean that the utility can not handle a table has
    : more
    : : than one clob column?
    : : In my applicaiton, I have two fields greater than 4000
    : : characters that I need to insert into a table.
    : : Thanks,
    : : Tony
    : : Tony (guest) wrote:
    : : : I do not see any problems yet, however, I am going to have
    : big
    : : : field size (> 5000 characters), big file size(around 100
    MB)
    : : : which means lots of records. I just want to know whether
    the
    : : : utility can take it, if not, what are the options?
    : : : Thanks,
    : : : Tony
    : : : Oracle XML Team wrote:
    : : : : No designed-in limits. Are you hitting a problem
    : : : : with a large-sized file?
    : : : : Oracle XML Team
    : : : : http://technet.oracle.com
    : : : : Oracle Technology Network
    : Oracle Technology Network
    : http://technet.oracle.com
    null

  • XML SQL Utility - declaration error

    Hi,
    I'm trying to use the XSU API in a Java server page and am getting an error with the <?xml version='1.0'> declaration tag. The parser seems to think it is not well-formed. Here is what I am doing: Using JSP, I query my database and use XSU to return the results as an XML string. I'm working on an Oracle personal edition version 8.1.7 on an Windows 2000 machine. When I had the Microsoft XML Parser version 2.5 installed, XSU would work and it would print out the XML document tree view. The document was well-formed, according to IE5.5. However, I wanted to use an XSLT stylesheet that would print out the xml results in an HTML table. The MS XML Parser 2.5 had to be upgraded to version 3.0 in replace mode, in order for the XSLT stylesheets to work. When I upgraded, the stylesheets worked, but then for all the JSP pages that were utilizing the XML SQL Utility, when I tried to view the page in IE5.5, I would get the declaration tag error I mentioned above.
    Any suggestions on how I can get the JSPs to work with XSU (without having to revert back to the older MS parser)? Is there another parser that I can use? I'm working with the Apache web server that Oracle personal edition installs.
    Thanks,
    SY

    The XML Declaration needs to be:
    <?xml version="1.0"?>
    and it must be the very first bytes of the file. There must not be any whitespace before the <?xml version="1.0"?> in what the JSP returns to the browser.
    This extra whitespace is frequently the cause of the problem in JSP cases that I've seen.

  • HOWTO: Writing Out XML Query Results of Any Size in Java with XML SQL Utility

    A customer mailed me asking for an example of how to use our XML SQL Utility to write out query results for tons of query result rows.
    With tons of data, the getXMLDOM() and getXMLString() methods are not really appropriate due to the size.
    The XML SQL Utility offers a getXMLSAX() method that streams SAX2 events to report the data being queried. This is the approach we can use to handle data of any size.
    It dawned on me today that by putting together the XML SQL Utilities getXMLSAX() routine, and the oracle.xml.parser.v2.XSLSAXPrintDriver SAX2 ContentHandler, we can effectively stream out data of any length to an appropriate writer.
    Here's a code example to get the point across:
    package test;
    import java.io.BufferedOutputStream;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.Driver;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.util.Properties;
    import javax.xml.transform.OutputKeys;
    import oracle.jdbc.OracleDriver;
    import oracle.xml.parser.v2.XSLException;
    import oracle.xml.parser.v2.XSLOutput;
    import oracle.xml.parser.v2.XSLSAXPrintDriver;
    import oracle.xml.sql.query.OracleXMLQuery;
    public class Example  {
      private static final String QUERY = "select * from emp";
      public static void main(String[] args) throws Throwable  {
          Connection conn = getConnection();
          OracleXMLQuery q = new OracleXMLQuery(getConnection(),QUERY);
          // Any printwriter will do. Here's we're output to standard out.
          PrintWriter output = new PrintWriter(new BufferedOutputStream(System.out));
          // This is a SAX2 Content Handler used by the Oracle XSLT Engine
          // to serialize a stream of sax2 events as an XML document
          // We'll use it to serialize the sax2 events from the XML SQL Utility
          // out as an XML document.
          XSLSAXPrintDriver ch = new XSLSAXPrintDriver(output, outputOptions());  
          // This asks XML SQL Utility to fire sax events for the data
          // being fetched instead of creating DOM nodes or returning text.
          // By using the XSLSAXPrintDriver content handler, these events
          // get handled by writing them directly to the output stream
          q.getXMLSAX(ch);
          ch.flush();
          q.close();
          conn.close();     
      private static XSLOutput outputOptions() throws XSLException {
        XSLOutput x = new XSLOutput();
        Properties props = new Properties();
        props.put(OutputKeys.METHOD,"xml");
        props.put(OutputKeys.INDENT,"yes");  // Set to "no" for non-indented
        x.setProps(props);
        return x;
      public static Connection getConnection() throws SQLException {
        String username = "scott";
        String password = "tiger";
        String thinConn = "jdbc:oracle:thin:@localhost:1521:ORCL";
        Driver d = new OracleDriver();
        return DriverManager.getConnection(thinConn,username,password);
    }

    Hi Uber,
    This is a known issue that error occurs when running report "Count of instances of specific software registered with Add or Remove Programs" due to non-printable characters for XML. Based on internal research, the hotfix for this issue will be
    included in the System Center 2012 Configuration Manager Service Pack 1.
    As a workaround, you can remove the nonprintable character populated into the report parameter by referring to the following KB article:
    http://support.microsoft.com/KB/914159
    Hope this helps.
    Regards,
    Mike Yin
    Mike Yin
    TechNet Community Support

  • XML SQL Utility or XSQL Servlet ?

    Hi,
    I am trying to generate a well formed XML file by querring from oracle8i database and also include different XSL files to render different output styles.
    Should I use XML SQL Utility or XSQL Servlets ??
    From the documentation I see that both XML SQL utility and XSQL servlets will do the job(am I right ?). But I am sure which one I should be using.
    Can any one advice me on this ?
    Thanks.
    Kane

    "HI u have to use XML SQl utility to run ur SQL and ur sqlservelet to process and get the output in the browser"
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Kane:
    Hi,
    I am trying to generate a well formed XML file by querring from oracle8i database and also include different XSL files to render different output styles.
    Should I use XML SQL Utility or XSQL Servlets ??
    From the documentation I see that both XML SQL utility and XSQL servlets will do the job(am I right ?). But I am sure which one I should be using.
    Can any one advice me on this ?
    Thanks.
    Kane<HR></BLOCKQUOTE>
    null

Maybe you are looking for