I was trying to insert data from a XML file into oracle table using XSU. Can any one give any tips or pointers for this?
--------------------------
----------
----------
---------
I'm using the scott default table: emp
SQL> describe emp;
Name Null? Type
--------------------------
----- -------- ----
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
--------------------------
----------
----------
------
my input file:
<?xml version='1.0'?>
<ROWSET>
<ROW num="1">
<EMPNO>7369</EMPNO>
<ENAME>Smith</ENAME>
<JOB>CLERK</JOB>
<MGR>7902</MGR>
<HIREDATE>12/17/1980 0:0:0</HIREDATE>
<SAL>800</SAL>
<COMM>23</COMM>
<DEPTNO>20</DEPTNO>
</ROW>
</ROWSET>
--------------------------
----------
------ error msg
C:\XML_DB>java testInsert in.xml
<Line 1, Column 1>: XML-0108: (Fatal Error) Start of root element expected.
Exception in thread "main" oracle.xml.sql.OracleXMLSQ
LException
: Start of root e
lement expected.
at oracle.xml.sql.dml.OracleX
MLSave.sav
eXML(Oracl
eXMLSave.j
ava:2093)
at oracle.xml.sql.dml.OracleX
MLSave.ins
ertXML(Ora
cleXMLSave
.java:1083
)
at testInsert.main(testInsert
.java:11)
--------------------------
----------
----- code start
import java.sql.*;
import oracle.xml.sql.dml.OracleX
MLSave;
public class testInsert
{
public static void main(String argv[])
throws SQLException
{
Connection conn = getConnection("scott","tig
er");
OracleXMLSave sav = new OracleXMLSave(conn, "scott.emp");
sav.insertXML(argv[0]);
sav.close();
}
// Get the connection given the user name and password..!
private static Connection getConnection(String user, String passwd)
throws SQLException
{
DriverManager.registerDriv
er(new oracle.jdbc.driver.OracleD
river());
Connection conn =
DriverManager.getConnectio
n("jdbc:or
acle:thin:
@localhost
:1521:zyx"
,
user,passwd);
return conn;
}
}
Start Free Trial