XML SQL Utility with mutilple tables

We are planning on using XML for our data insertion and retrieval
format in conjuction with Oracle 8i. We are studying the XML SQL
Utility for Java.
According the the Java class documentation on technet, the
OracleXMLSave:insertXML is used to store XML data into a single
table. What if the XML string that is passed to this method
needs to span multiple tables? (I want to the utility to perform
multiple INSERTs on different tables.) How can this be done.
Thanks,
John Taylor
null

Hi John,
If you want to do an insert across multiple tables, you can
create a view over those tables. If your view is complex and not
updatable then you can use insteadof triggers with your
non-updatable view. Hope this helps.
John Taylor (guest) wrote:
: We are planning on using XML for our data insertion and
retrieval
: format in conjuction with Oracle 8i. We are studying the XML
SQL
: Utility for Java.
: According the the Java class documentation on technet, the
: OracleXMLSave:insertXML is used to store XML data into a single
: table. What if the XML string that is passed to this method
: needs to span multiple tables? (I want to the utility to
perform
: multiple INSERTs on different tables.) How can this be done.
: Thanks,
: John Taylor
Oracle Technology Network
http://technet.oracle.com
null

Similar Messages

  • XML SQL Utility with Oracle 8.0.5

    hi,
    Is it possible to use XML SQL Utility with Oracle 8.0.5.
    Thanks,
    -Mourad
    null

    Yes. You need to use the Oracle8i 8.1.6 JDBC driver with XSU, but it can connect to an 8.0.5 instance.

  • Oracle 8i Lite and XML SQL Utility

    Can I use XML SQL Utility with Oracle 8i Lite
    using the Oracle 8i Lite Driver
    null

    There will be an version of the XML SQL Utility appearing here shortly. In the meantime you can download the current version of the XSQL Servlet which has the new v2 compatible oraclexmlsql.jar.
    Oracle XML Team

  • How to use my own DTD and table using the XML SQL utility.

    Hey,
    Here is my question. I have succesfully installed Oracle XML SQL utility and I had played around on that. Now I have my own DTD that too from Rosettanet(PIP). Tell me how can I use my own table, and my dtd using the existing utility. What are all the changes do I need to do. I am strugling it from past 4 days. I couldn't. Please help me!

    Hi chris,
    Yes, the SQL can be changed only by using Discoverer Administrator.
    Open the report/workbook that is based on the custom SQL that you want to change in Discoverer Plus. Look at the Folder that is being used to select the columns of the report.
    Open up the Discoverer Administrator with the id that has access to the tables referenced in the report. And the custom folder with the same name as in Disc Plus would be listed down in the Business Area (Which Business Area the custom folder belongs to can be determined with the help of disc plus).
    Just open up that folder, and change the SQL in it. You can pasted your new sql in there and click on Validate SQL to validate it for errors. If no errors, then the custom folder is successfully changed.
    In order to have it reflected, close your existing disc plus session and reopen it, and you can go about using the custom folder.
    Hope this helps!
    Thanks.

  • XML SQL Utility & table view

    Hi,
    I want to do an insert across multiple tables with the XML SQL Utility. I read I have to create a view over those tables.
    How can I create a view for the tables below as example ?
    Table Book with columns:
    - Book-ID
    - Book-Name
    - Ref. To Price ( -> is a reference to Table Price (Price-ID))
    Table Price with columns:
    - Price-ID
    - Price-DM
    null

    You have to create a view from SQL command
    which means you have to have rights to create views.
    Refer to Oracle's SQL Reference Vol.2
    and look up CREATE VIEW. Better to ask your database administrator.
    null

  • 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

  • 1.2 JVM crashes using XML SQL Utility 1.1.10 (NT 8.1.5)

    I am trying to use the XML SQL Utility for Java (Oracle 8.1.5) to obtain a DTD or XML schema for tables in our database.
    I have installed the XSU111.ZIP archive,
    set the CLASSPATH and stuff, loaded the JAR
    files (xmlparserv2.jar, oraclexmlsql.jar)
    processed the xmlgenpkg.sql script (following the installation instructions)
    When I execute the samples in Java, the JVM (JDK 1.2.2) crashes in javai.dll.
    The same error occurs when I run java OracleXML getXML ....
    The installation file (env.bat) lists the JDBC driver ZIP as CLASSES12.ZIP, which is of course, not available for 8.1.5, which is what the download instructions indicated is appropriate for XSU 1.1.1.
    Any ideas? Do I need to upgrade to 8.1.6?
    Can I patch the JDBC with classes12.ZIP.
    By the way, when I execute the commands in PL/SQL using xmlgen package, everything is fine.
    Regards and Much thanks

    Set JDK_HOME to the directory where you install your JDK (Java Development Kit).
    So instance, I've install JDK1.1.8 on my
    C drive so
    set JDK_HOME=c:\jdk1.1.8;c:\jdk1.1.8\bin

  • Help Needed -- Oracle XML/SQL utility and PL/SQL parser

    Let's say we have an xml file
    <?xml version="1.0" standalone="no"?>
    <abc>
    <def>
    <ghi>test</ghi>
    </def>
    <jkl>
    <mno>testing</mno>
    </jkl>
    </abc>
    We can store the <def> tag in one table say def and <jkl> tag in another table say jkl.
    Is there a way to combine def and jkl and insert in one table so that there in one row with two columns test and testing??
    null

    Hi,
    Are u sure that it is a java enabled database? The most common
    case of failure with the xmlgen package is because the loadjava
    command did not succeed.
    Please make sure that oraclexmlsqlload.bat file loaded all the
    java procedures successfully. If not then u would have to java-
    enable your database by running the initjvm script. (please see
    the docs).
    Thx
    Murali
    Iveta Vojtko (guest) wrote:
    : Hi,
    : I have downloaded XML SQL Utility for Java against Oracle
    8.0.5
    : on WindowsNT. The xmlgen package was created successfully but
    : its body is invalid and my PL/SQL test has failed because of
    : following error: PLS-00103: Encountered the symbol "NAME"
    : when expecting one of the following: := . ( @ % ; not null
    range
    : renames default character. The symbol ":= was inserted abefore
    : "NAME" to continue.
    : Is it because I am not using Oracle8i? I just want to use the
    : server side of XML SQL. Please, reply asap. Thank you.
    Oracle Technology Network
    http://technet.oracle.com
    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 - 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)
    );

  • 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.

  • XML SQL Utility & ROW-Tag

    Hi,
    I have a question about the XML SQL Utility.
    Must I have the <ROOTDOC> and <ROW> TAG's in my XML-Document to insert the Document with the Utility in my Database, or can I use a random defined TAG as start TAG, e.g. the <BOOK_ID>.
    XML-Document:
    Book.xml
    <?xml version="1.0" encoding="UTF-16"?>
    <!DOCTYPE ANWENDUNGEN SYSTEM "file:/E:/book.dtd">
    <!-- ?xml-stylesheet href="book.xsl" type="text/xsl"? -->
    <ROOTDOC>
    <ROW>
    <BOOK_ID>55-66</BOOK_ID>
    <BOOK_NAME>JavaScript</BOOK_NAME>
    <REF_TO_PRICE>2-AA</REF_TO_PRICE>
    <PRICE_ID>2-AA</PRICE_ID>
    <PRICE_DM>55.50DM</PPRICE_DM>
    </ROW>
    </ROOTDOC>
    Can anyone help me, please ?
    Thanks
    null

    You can use a "random" tag at the "ROW" tag, using the -rowTag XXXX command line option.
    The utility will attempt to insert the CHILDREN elements of the rowset as if they were the columns of each ROW in the table whose name you provide.

Maybe you are looking for