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.
nullMurali,
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
nullHi 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 -
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
nullHi 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...
nullHi,
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.
MichaelOracle 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 -
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;
nullHave 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);
nullFirstly 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
nullWhile 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Ÿ+
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
nullHere 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] -
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
nullFirst, 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,
SYThe 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
-
Unable to access data/storage space of failed primary partition after internet recovery
Hello, So just a bit of quick background info to the issue: I experienced my first major failure with my iMac a few weeks ago (early Feb) where the main partition on my 3TB Fusion drive developed a corruption of some sort. I went through all the dis
-
ICloud's "Back to My Mac" Crawls after 10.7.3 update
Before I upgraded all of my systems (MacBook Pro, iMac, Mac Pro) to 10.7.3 I was able to have very fast mouse responsiveness and graphics updates using vnc:// and iCloud's "Back to My Mac" when connecting to any of my Macs in various offices. Over Ca
-
Printing report list output in A4 paper
Hi! Is it possible to fit the list output of a report having a line-size of 240 into an A4 paper ?...when I was trying to print the output is being cut. Some columns at the right were not printed since all columns do not fit on the paper even on land
-
my iphone automatically goes to landscape mode.. i can't view the songs in the ipod app coz of this. How can I fix this?
-
How can i buy apps with out anser security quesions
i cant buy apps becuase i forgot my security quesions