Error inserting CLOB data into xmltype table on Solaris 8 Oracle 9.2.0.1.0
Hi all,
I have a table t of type xmltype.
I have a function getData which parses an XML file and returns the CLOB data.
I have a statement as
"insert into t values(xmltype(getData('abc.xml')));"
I get the following error
ERROR at line 1:
ORA-00600: internal error code, arguments: [17177], [0x0], [], [], [], [], [],
ORA-31011: XML parsing failed
ORA-06512: at "SYS.XMLTYPE", line 0
ORA-06512: at line 1
ORA-06512: at "ADAPT.AP_CREATE_INSP_LOAD", line 57
ORA-06512: at line 1
At line 57 I have the above mentioned "insert into..." statement.
Can anybody tell me what can be the problem.
Interestingly enough, the same things work on same Oracle version on Windows 2k, Windows 2k3, another Solaris 8 machine.
Please help asap as I am in fire fighting mode.
Thanks & Regards,
Aniruddha Deshpande
Hi Aniruddha
I think you need to post to a db forum rather than XMLP.
Tim
Similar Messages
-
Trying to insert CLOB data into Remote Table..
Hi everyone,
I think this question had already posted.But i am not able to figure out this problem..
what i am trying to do is
I have a table in the remote database with a CLOB column like this
REMOTE_TABLE
============
REMOTE_TABLE_ID (Populated with sequence)
REMOTE_CLOB CLOB
In my Local database i have to write a Procedure to gather some information on a particular record (My Requirement) and save that CLOB in the REMOTE_TABLE.
I built that procedure like this
Declare
var_clob CLOB; /* I need to processs several records and keep all data in a clob
begin
/***** Processed several records in a local database and stored in the variable var_clob which i need to insert into remote database ****/
Insert into remote_table@remote values (remote_table_seq.nextval,var_clob);
/*** when i try to execute the above command i am getting the following error
ORA-06550: line 6, column 105:
PL/SQL: ORA-22992: cannot use LOB locators selected from remote tables
ORA-06550: line 6, column 1:
PL/SQL: SQL Statement ignored *****/
/***For a test i created the same table in local db****/
Insert into local_table values (local_table_seq.nextval,var_clob);
It is working fine and i am able to see the entire CLOB what i want.
surprisingly if i pass some value instead of a varibale to the remote table like the following..
Insert into remote_table@remote values (remote_table_seq.nextval,'Hiiiiiiiii');
It is working fine...
I tried the following too..
decalre
var_clob clob;
begin
var_clob := 'Hiiiiiiiiiiiiiii';
Insert into remote_table@remote (remote_table_id) values (1);
commit;
update remote_table@remote set remote_clob = var_clob where remote_table_id = 1;
commit;
end
I am getting the following error..
ORA-22922: nonexistent LOB value
ORA-02063: preceding line from CARDIO
ORA-06512: at line 6
Could someone please help me in fixing this issue..I need to process all the data to a variable like var_clob and insert that clob into remote table..
Thanks in advance..
phaniGo to http://asktom.oracle.com and search for clob remote table
also docs contain quite lot of info:
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14249/adlob_working.htm#sthref97
Gints Plivna
http://www.gplivna.eu -
Insert the data into two tables at a time.
Hi ,
i have these two tables
create table [dbo].[test1](
[test1_id] [int] identity(1,1) primary key,
[test2_id] [int] not null
create table [dbo].[test2](
[test2_id] [int] identity(1,1) primary key,
[test1_id] [int] not null
alter table [dbo].[test1]
add constraint [fk_test1_test2_id] foreign key([test2_id])
references [dbo].[test2] ([test2_id])
alter table [dbo].[test2] add constraint [fk_test2_test2_id] foreign key([test1_id])
references [dbo].[test1] ([test1_id])
I want to insert the data into two tables in one insert statement. How can i do this using T-SQL ?
Thanks in advance.You can INSERT into both tables within one Transaction but not in one statement. By the way, you would need to alter your dbo.Test1 table to allow null for first INSERT test2_id column
See sample code below:
CREATE TABLE #test1(test1_ID INT IDENTITY(1,1),test2_id INT NULL)
CREATE TABLE #test2(test2_ID INT IDENTITY(1,1),test1_ID INT)
DECLARE @Test1dentity INT
DECLARE @Test2dentity INT
BEGIN TRAN
-- Insert NULL as test2_ID value is unknown
INSERT INTO #test1(test2_ID)
SELECT NULL;
-- get inserted identity value
SET @Test1dentity = SCOPE_IDENTITY();
INSERT INTO #test2(test1_ID)
SELECT @Test1dentity;
-- get inserted identity value
SET @Test2dentity = SCOPE_IDENTITY();
-- Update test1 table
UPDATE #test1
SET test2_ID = @Test2dentity
WHERE test1_ID = @Test1dentity;
COMMIT
SELECT * FROM #test1;
SELECT * FROM #test2;
-- Drop temp tables
IF OBJECT_ID('tempdb..#test1') IS NOT NULL
BEGIN
DROP TABLE #test1
END
IF OBJECT_ID('tempdb..#test2') IS NOT NULL
BEGIN
DROP TABLE #test2
END
web: www.ronnierahman.com -
How to insert/Update date into Dictionary Table?
Dear Experts,
I have created a Dictionary Project and Deployed.I think the table had created in portal database.
now i want to insert some data into that table?
Can you plz tell me how to access the table using Abstract Portal Component using DynPage.
Waiting for ur replies...
Thanks and Regards,
Visweswar.Hi
Can u share the Logic??? -
How to insert Legacy data into QP_RLTD_MODIFIERS table?
How to insert Legacy data into QP_RLTD_MODIFIERS table in R12 instance.
I would use the API QP_Modifiers_PUB.Process_Modifiers for pushing legacy pricing data into R12. QP_RLTD_MODIFIERS is only used for certain types of discounts (in my prod environnment, only promos have data in this table).
-
How to insert text data into temp tables....
Dear All,
I have one notepad with three columns, first column is segment1, second column is segment2 & third column is price list....
and there is no delimiter and exact spaces..(i.e, zizak fomat)
Ex:-
xx yy 00009999
kk mmmm 00009333
Data is available like above example...So, I need to insert this data into one table.(2LAKSHS OF RECORDS AVAILABLE IN THAT NOTEPAD)
So, Any can one help me, how to insert this kind of text data into temparory table...
Regards
Krishna
Edited by: user12070109 on May 29, 2010 9:48 PM
Edited by: user12070109 on May 29, 2010 9:49 PMHello,
What manu suggested this can be done through oracle forms.
If as i read your last post you are using that in database it will not work in db. Try to use the same process in oracle forms will work by making some changes.
And if you don't want to use forms then there is one way using SQL LOADER. It required control file to execute for uploading data.
See the below link.
http://www.orafaq.com/wiki/SQL*Loader_FAQ
In this example its showing filename.csv you can use your file name like yourfilename.txt.
So your control file will look like this...
load data
infile 'file_path\file_name.txt'
into table table_name -- use actual table name where you want to upload data
fields terminated by " " -- Here using spaces as you mentioned
(column1, column2, column3) -- Here use the three column names of tableAnd after creating control file with the above code. You can call it in command prompt like this
sqlldr username/password control=control_file_path\control_file_name.ctl log=log_file_path\log_file_name.log
or
sqlldr username/password@dbconnection control=control_file_path\control_file_name.ctl log=log_file_path\log_file_name.log
Before doing this practice make sure SQLLDR.exe availabe in the machine where you have to execute. Otherwise you will have to install db client for using sqlldr.exe
-Ammad -
Error inserting a row into a table with identity column using cfgrid on change
I got an error on trying to insert a row into a table with identity column using cfgrid on change see below
also i would like to use cfstoreproc instead of cfquery but which argument i need to pass and how to use it usually i use stored procedure
update table (xxx,xxx,xxx)
values (uu,uuu,uu)
My component
<!--- Edit a Media Type --->
<cffunction name="cfn_MediaType_Update" access="remote">
<cfargument name="gridaction" type="string" required="yes">
<cfargument name="gridrow" type="struct" required="yes">
<cfargument name="gridchanged" type="struct" required="yes">
<!--- Local variables --->
<cfset var colname="">
<cfset var value="">
<!--- Process gridaction --->
<cfswitch expression="#ARGUMENTS.gridaction#">
<!--- Process updates --->
<cfcase value="U">
<!--- Get column name and value --->
<cfset colname=StructKeyList(ARGUMENTS.gridchanged)>
<cfset value=ARGUMENTS.gridchanged[colname]>
<!--- Perform actual update --->
<cfquery datasource="#application.dsn#">
UPDATE SP.MediaType
SET #colname# = '#value#'
WHERE MediaTypeID = #ARGUMENTS.gridrow.MediaTypeID#
</cfquery>
</cfcase>
<!--- Process deletes --->
<cfcase value="D">
<!--- Perform actual delete --->
<cfquery datasource="#application.dsn#">
update SP.MediaType
set Deleted=1
WHERE MediaTypeID = #ARGUMENTS.gridrow.MediaTypeID#
</cfquery>
</cfcase>
<cfcase value="I">
<!--- Get column name and value --->
<cfset colname=StructKeyList(ARGUMENTS.gridchanged)>
<cfset value=ARGUMENTS.gridchanged[colname]>
<!--- Perform actual update --->
<cfquery datasource="#application.dsn#">
insert into SP.MediaType (#colname#)
Values ('#value#')
</cfquery>
</cfcase>
</cfswitch>
</cffunction>
my table
mediatype:
mediatypeid primary key,identity
mediatypename
my code is
<cfform method="post" name="GridExampleForm">
<cfgrid format="html" name="grid_Tables2" pagesize="3" selectmode="edit" width="800px"
delete="yes"
insert="yes"
bind="cfc:sp3.testing.MediaType.cfn_MediaType_All
({cfgridpage},{cfgridpagesize},{cfgridsortcolumn},{cfgridsortdirection})"
onchange="cfc:sp3.testing.MediaType.cfn_MediaType_Update({cfgridaction},
{cfgridrow},
{cfgridchanged})">
<cfgridcolumn name="MediaTypeID" header="ID" display="no"/>
<cfgridcolumn name="MediaTypeName" header="Media Type" />
</cfgrid>
</cfform>
on insert I get the following error message ajax logging error message
http: Error invoking xxxxxxx/MediaType.cfc : Element '' is undefined in a CFML structure referenced as part of an expression.
{"gridaction":"I","gridrow":{"MEDIATYPEID":"","MEDIATYPENAME":"uuuuuu","CFGRIDROWINDEX":4} ,"gridchanged":{}}
ThanksIs this with the Travel database or another database?
If it's another database then make sure your columns
allow nulls. To check this in the Server Navigator, expand
your DataSource down to the column.
Select the column and view the Is Nullable property
in the Property Sheet
If still no luck, check out a tutorial, like Performing Inserts, ...
http://developers.sun.com/prodtech/javatools/jscreator/learning/tutorials/index.jsp
John -
How to read clob data into a table
Hi we have application which take oracle reports(10G) xml file as input and runs the report and save the output(csv,pdf) in a table.
so i need some idea to impliment the follwoin task .
I need to read the content of the out file whcih in table stored in CLOB(I have not checked yet) column and store the data into another table .
FYI: The out put of the report will have 10+ different column.
could Some please point me to the right direction to acomplis h the task .
Thnaks In Advance.Edited by: 852112 on Apr 13, 2011 10:47 AMWelcome to the forum.
See:
http://www.oracle-base.com/articles/8i/ImportClob.php
http://www.oracle-base.com/articles/8i/ImportBlob.php -
Hi All,
i am facing impact of trigger in MYSQL, scenario is this:
I am Having one table with duplicate records that is consist of (eid,tin,status and some other columns are also there but i need only these three). there is another table which is having same these three columns (eid, tin, status).
eid and tin will be same for given combination only status will be different i.e.
1245 23 0
1245 23 1
1245 23 5
1233 33 3
1211 24 2
1211 24 5
so as per above example i have to feed data into other table as
1245 23 0
1233 33 3
1211 24 5
priority of status is like 0 will be inserted if that is present in record otherwise it will be decrease from 5 to 1.
so i have designed trigger for this which will insert data after reading each row, but it is taking around 6.5 minutes for inserting 300000 records. so is there any other way to improve performance for this mysql program.
DELIMITER $$
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
TRIGGER `kyr_log`.`upd_status` AFTER INSERT
ON `kyr_log`.`kyrlog_bup`
FOR EACH ROW
BEGIN
DECLARE v_eid VARCHAR(28);
DECLARE v_status INT(11);
SELECT kyrl_eid,kyrl_status INTO v_eid,v_status FROM kyrlog_bup ORDER BY kyrl_id DESC LIMIT 1;
IF v_eid NOT IN (SELECT kyrl_eid FROM update_status.new_status) THEN
INSERT INTO update_status.new_status(kyrl_eid,kyrl_tin,kyrl_status)
SELECT kyrl_eid,kyrl_tin,kyrl_status FROM kyrlog_bup ORDER BY kyrl_id DESC LIMIT 1;
ELSE IF v_status=2 THEN
IF v_status > ANY (SELECT kyrl_status FROM kyrlog_bup WHERE kyrl_eid=v_eid AND kyrl_status<>0) THEN
UPDATE update_status.new_status SET kyrl_status=v_status WHERE kyrl_eid=v_eid;
END IF;
ELSE IF v_status=3 THEN
IF v_status > ANY (SELECT kyrl_status FROM kyrlog_bup WHERE kyrl_eid=v_eid AND kyrl_status<>0) THEN
UPDATE update_status.new_status SET kyrl_status=v_status WHERE kyrl_eid=v_eid;
END IF;
ELSE IF v_status=4 THEN
IF v_status > ANY (SELECT kyrl_status FROM kyrlog_bup WHERE kyrl_eid=v_eid AND kyrl_status<>0) THEN
UPDATE update_status.new_status SET kyrl_status=v_status WHERE kyrl_eid=v_eid;
END IF;
ELSE IF v_status=5 THEN
IF v_status > ANY (SELECT kyrl_status FROM kyrlog_bup WHERE kyrl_eid=v_eid AND kyrl_status<>0) THEN
UPDATE update_status.new_status SET kyrl_status=v_status WHERE kyrl_eid=v_eid;
END IF;
ELSE IF v_status=0 THEN
UPDATE update_status.new_status SET kyrl_status=v_status WHERE kyrl_eid=v_eid;
END IF;
END IF;
END IF;
END IF;
END IF;
END IF;
END;
$$
DELIMITER ;
please suggest me if there is possibility of any other solution.
thanksactually you didn't have seen discussion on this link , there are many discussion related to MYSQL . and mysql is owned by oracle. so i post it here.
thanks for suggestion -
Need help in stroring CLOB data into a table
Hi All,
I have a CLOB data. Which contains delimited data.
Example:
"111#|#ABC#|#asfsdffgh $|$222#|#XYZ#|#jdsfgdskdsf $|$"
#|# - is column delimiter.
$|$ - is row delimiter
I want to extract and store the above data into a table which has 3 columns. Need help.
I have Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
Thanks in advance,
Girish GHi Girish,
Please go through the below url's...It will give you fair idea and solution. HOpe you know the sql *loader utility. or external table.
http://www.oracle-base.com/articles/10g/LoadLobDataUsingSqlLoader.php
http://www.oracle-base.com/articles/10g/ExternalTablesContainingLobData.php
KPR. -
Problem inserting clob value into xmltype column
Hi all,
I have created a table in XML DB using as:
CREATE TABLE TransDetailstblCLOB ( id number, data_xml XMLType) XmlType data_xml STORE AS CLOB;
I am trying to insert large xml data into the data_xml column which is of type XMLTYPE.
I followed this link (http://www.oracle.com/technology/sample_code/tech/java/codesnippet/xmldb/HowToLoadLargeXML.html) to create a clob object and insert into xml.
I am getting the following error:
ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00229: input source is empty
Error at line 0
ORA-06512: at "SYS.XMLTYPE", line 254
ORA-06512: at line 1
My code snippet:
private static CLOB getCLOB(String xmlData, Connection conn) throws SQLException{
CLOB tempClob = null;
if(conn==null){
log.debug("Connection object is null");
throw new SQLException("Connection object is null");
try{
// If the temporary CLOB has not yet been created, create new
tempClob = CLOB.createTemporary(conn, true, CLOB.MODE_READWRITE);
// Open the temporary CLOB in readwrite mode to enable writing
tempClob.open(CLOB.MODE_READWRITE);
// Get the output stream to write
writer = tempClob.getCharacterOutputStream();
writer.write(xmlData);
} catch(SQLException sqlexp){
tempClob.freeTemporary();
sqlexp.printStackTrace();
} catch(Exception exp){
tempClob.freeTemporary();
exp.printStackTrace();
return tempClob;
public static void insertXML(String xmlData, Connection conn){
CLOB clob = null;
String query;
log.debug("Inside insertXML" +xmlData);
try{
query = "INSERT INTO TransDetailstbl1(data) VALUES (XMLType(?)) ";// Changed prev TransDetailstbl
// Get the statement Object
pstmt = conn.prepareStatement(query);
// xmlData is the string that contains the XML Data.
// Get the CLOB object using the getCLOB method.
clob = getCLOB(xmlData, conn);
// Bind this CLOB with the prepared Statement
pstmt.setObject(1, clob);
int i =pstmt.executeUpdate();
log.debug("pstmt.executeUpdate () status ::: "+i);
// Execute the Prepared Statement
if (i == 1) {
log.debug("Record Successfully inserted!");
} catch(SQLException sqlexp){
sqlexp.printStackTrace();
} catch(Exception exp){
exp.printStackTrace();
finally{
try{
pstmt.close();
// Flush and close the stream
writer.flush();
writer.close();
// Close the temporary CLOB
tempClob.close();
catch(Exception e)
log.debug("Cant close prepared statement.");
e.printStackTrace();
Can anyone help me out?
Please let me know if any other info is required.
Regards,
RobinaHi all,
I now modified the code to write the data using Stream.
I am getting this error message: SQLException while updateORA-24813: cannot send or receive an unsupported LOB
On googling it seems the its usually caused when I am using the different versions of oracle on
server and client.
My oracle details:
Database product version : Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
JDBC driver name : Oracle JDBC driver
JDBC driver version : 9.2.0.1.0
DataStoreHelper name is: com.ibm.websphere.rsadapter.OracleDataStoreHelper@22542254.
JDBC driver type : thin
Can anyone tell me how to proceed?
Thanks -
Inserting XML data into xmltype column
Oracle version: 10.1.0.5
OpenVms Alpha V8.3
1) Tried this and get the error shown below. Removed charset and placed a zero. Same error.
INSERT INTO xml_demo (xml_data) -- column of xmltype
VALUES
xmltype
bfilename('XML_DIR', 'MOL.XML'),
nls_charset_id('AL32UTF8')
ORA-22993: specified input amount is greater than actual source amount
ORA-06512: at "SYS.DBMS_LOB", line 637
ORA-06512: at "SYS.XMLTYPE", line 283
ORA-06512: at line 1
2) This PL/SQL block works. However maximum raw size around 32K. The file can be around 100K. May be I can load it into a table of raw and somehow concatnate it to insert. Not sure whether this is possible but I am sure there must me a simple way of doing this.
Subset of the xml file is pasted below.
set serveroutput on size 1000000
DECLARE
file1 bfile;
v_xml XMLType;
len1 number(6);
v_rec1 raw(32000);
BEGIN
file1 := bfilename('XML_DIR','MOL.XML');
DBMS_LOB.fileopen(file1, DBMS_LOB.file_readonly);
len1 := DBMS_LOB.getLength(file1);
v_rec1 := dbms_lob.substr(file1,len1,1);
v_xml := xmltype(UTL_RAW.CAST_TO_VARCHAR2(v_rec1));
INSERT INTO xml_demo (xml_data) VALUES (v_xml);
COMMIT;
DBMS_LOB.fileclose(file1);
exception
when others then
dbms_output.put_LINE (sqlerrm);
DBMS_LOB.fileclose(file1);
END;
<?xml version="1.0" encoding="UTF-8"?>
<MolDocument DtdVersion="3" DtdRelease="0">
<DocumentIdentification v="MOL_20100331_1500_1600"/>
<DocumentVersion v="1"/>
<DocumentType v="A43"/>
<SenderIdentification codingScheme="A01" v="17X100Z100Z0001H"/>
<SenderRole v="A35"/>
<ReceiverIdentification codingScheme="A01" v="10XFR-RTE------Q"/>
<ReceiverRole v="A04"/>
<CreationDateTime v="2010-03-31T14:10:00Z"/>
<ValidTimeInterval v="2010-03-31T15:00Z/2010-03-31T16:00Z"/>
<Domain codingScheme="A01" v="10YDOM-1001A001A"/>
<MolTimeSeries>
<ContractIdentification v="RTE_20100331_1500_16"/>
<ResourceProvider codingScheme="A01" v="10XFR-RTE------Q"/>
<AcquiringArea codingScheme="A01" v="17Y100Z100Z00013"/>
<ConnectingArea codingScheme="A01" v="10YFR-RTE------C"/>
<AuctionIdentification v="AUCTION_20100331_1500_1600"/>
<BusinessType v="A10"/>
<BidTimeInterval v="2010-03-31T15:00Z/2010-03-31T16:00Z"/>
<MeasureUnitQuantity v="MAW"/>
<Currency v="EUR"/>
<MeasureUnitPrice v="MWH"/>
<Direction v="A02"/>
<MinimumActivationQuantity v="50"/>
<Status v="A06"/>
<Period>
<TimeInterval v="2010-03-31T15:00Z/2010-03-31T16:00Z"/>
<Resolution v="PT60M"/>
<Interval>
<Pos v="1"/>
<Qty v="50"/>
<EnergyPrice v="50.45"/>
</Interval>
</Period>
</MolTimeSeries>
</MolDocument>Marc
Thanks. I understand what you are saying. I have been copying files in binary mode from NT servers into VMS. I have to get a proper xml file via FTP from the originating system to further investigate.
I have one last item i need help on. If anything looks obvious let me know:
+1) The xsd defintion of Qty (type: QuantityType) and EnergyPrice (type: Amount Type)+
<xsd:element name="Qty" type="ecc:QuantityType">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:element>
<xsd:element name="EnergyPrice" type="ecc:AmountType" minOccurs="0">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:element>
+2) Definition of AmountType and QuantityType in the parent xsd+
<xsd:complexType name="AmountType">
<xsd:annotation>
<xsd:documentation>
<Uid>ET0022</Uid>
<Definition>The monetary value of an object</Definition>
</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="v" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:decimal">
<xsd:totalDigits value="17"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
<!--_________________________________________________-->
<xsd:complexType name="QuantityType">
<xsd:annotation>
<xsd:documentation>
<Uid>ET0012</Uid>
<Definition>(Synonym "qty") The quantity of an energy product. Positive quantities shall not have a sign.</Definition>
</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="v" type="xsd:decimal" use="required"/>
</xsd:complexType>
<!--________________
+3. Data in the XML file+
<Period>
<TimeInterval v="2010-03-31T15:00Z/2010-03-31T16:00Z"/>
<Resolution v="PT60M"/>
<Interval>
<Pos v="1"/>
<Qty v="50"/>
<EnergyPrice v="50.45"/>
</Interval>
+4) When I do the load:+
the EnergyPrice is saved in the xmltype column as <EnergyPrice v="50"/>
Losing its decimal value of .45
+5) When I select as follows:+
**DEV** SQL>> l
1 SELECT
2 EXTRACTVALUE(x2.column_value,'/MolTimeSeries/Period/Interval/EnergyPrice/@v') v1,
3 EXTRACTVALUE(x2.column_value,'/MolTimeSeries/Period/Interval/EnergyPrice') v2,
4 EXTRACTVALUE(x2.column_value,'/MolTimeSeries/Period/Interval/Qty') v3
5 FROM balit_mol_xml x,
6 TABLE(
7 XMLSEQUENCE(
8 EXTRACT(x.xml_payload, '/MolDocument/MolTimeSeries')
9 )
10 ) x2
11* WHERE EXISTSNODE(x.xml_payload,'/MolDocument/DocumentIdentification[@v="MOL_20100331_1500_1600"]') = 1
+6) get the result+
50
AmountType479_T(XDB$RAW_LIST_T('1301000000'), 50)
QuantityType471_T(XDB$RAW_LIST_T('1301000000'), 50)
+7) XDB$RAW_LIST_T('1301000000'),+
Does that tell what I am doing wrong? -
I can't insert my data into the table - help please
Hello everyone,
I have a trouble about JSP. I'm using Java2 SDK,JSP 1.2,Mysql and TOMCAT.
I want to do this. A user has to enter the nicno,into the html form(EnterNicInter.jsp),to verify if it is already exist or not. If it is exist in the db, an error msg(Record already exist) must be displayed. If not, then the page "InterviewForm.jsp" displayed. This part is working.
But, I can't save these details into the db by clicking submit button int the InterviewForm.jsp.
I wrote a javaBean for this task. Here is it.
CandidateMgr.java
package hrm;
import java.io.*;
import java.sql.*;
public class CandidateMgr
private String nicno;
private String title;
private String firstName;
private String civilStatus;
private String tele;
private String eduQua;
// Constructor
public CandidateMgr()
this.nicno = nicno;
this.title = title;
this.firstName = firstName;
this.civilStatus= civilStatus;
this.tele = tele;
this.eduQua = eduQua;
//getters & setters.
// Initializes the connection and statements
public void initConnection() {
if (connection == null) {
try {
String sql;
// Open the database
Class.forName(DRIVER).newInstance();
connection = DriverManager.getConnection(URL);
//Verify nicno
sql="SELECT * FROM Candidate where nicNo= ?";
pstmt1 = connection.prepareStatement(sql);
sql ="INSERT INTO Candidate
VALUES(?,?,?,?,?,?)";
pstmt2 = connection.prepareStatement(sql);
catch (Exception ex) {
System.err.println(ex.getMessage());
public boolean verifyNicNo(){
boolean nic_no_select_ok = false;
String nic="xxxx";
initConnection();
try {
pstmt1.setString(1, nicno);
ResultSet rs1 = pstmt1.executeQuery();
if(rs1.next()){
nic=rs1.getString("nicNo");
if(nic=="xxxx")
nic_no_select_ok = true;
} else{
nic_no_select_ok = false;
rs1.close();
pstmt1.close();
catch (Exception ex) {
System.err.println(ex.getMessage());
return nic_no_select_ok;
public boolean addInter(){
boolean add_inter_ok = false;
try{
//assign values for the object
pstmt2.setString(1, nicno); // ERROR(java:652)
pstmt2.setString(2, title);
pstmt2.setString(3, firstName);
pstmt2.setString(4, civilStatus);
pstmt2.setString(5, tele);
pstmt2.setString(6, eduQua);
if(pstmt2.executeUpdate()==1) add_inter_ok=true;
pstmt2.close();
catch(SQLException e2){
System.err.println(e2.getMessage());
return add_inter_ok;
IntreviewForm.jsp (used to submit data into the db)
<form method="POST" action="InterviewCtrl.jsp">
//codes
<input type="text" name="nicno" size="14" style="border:1px solid #0000FF;
color: #FF0000; font-weight: bold">
<input type="text" name="title" size="14" style="border:1px solid #0000FF;
color: #FF0000; font-weight: bold">
<input type="text" name="firstName" size="14" style="border:1px solid #0000FF;
color: #FF0000; font-weight: bold">
<input type="text" name="civilStatus" size="14" style="border:1px solid #0000FF;
color: #FF0000; font-weight: bold">
<input type="text" name="tele" size="14" style="border:1px solid #0000FF;
color: #FF0000; font-weight: bold">
<input type="text" name="eduQua" size="14" style="border:1px solid #0000FF;
color: #FF0000; font-weight: bold">
</form>.......................................................................
Here is the "InterviewCtrl.jsp"
<%@ page language="java" import="java.util.*"%>
<%@ page import="hrm.CandidateMgr" %>
<%@ page session="false" %>
<jsp:useBean id="candidate" class="hrm.CandidateMgr" scope="request"/>
<jsp:setProperty name="candidate" property="*"/>
<%-- Execute the addInter() method on the bean and check if it is true or false.-- %>
<%-- if it's true then display a confirmation message "InterConfirm.html" --%>
<%-- else display InterError.html --%>
<%
String nextPage ="MainForm.jsp";
if(candidate.addInter()){
nextPage="InterConfirm.html";
}else{
nextPage="InterError.html";
%>
<jsp:forward page="<%=nextPage%>"/>.......................................................................
Here is the error:(I mark it in my bean also)
root cause
java.lang.NullPointerException
at hrm.CandidateMgr.addInter(CandidateMgr.java:652)
at org.apache.jsp.InterviewCtrl_jsp._jspService(InterviewCtrl_jsp.java:66)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
I use JSP 1.2 , mySQL with TOMCAT. My table name is Candidate.It's fields are as follows:
Candidate(nicNo,title,fName,civilStatus,tele,eduQua)
Can anybody tell me whats going on, help me to solve this please.
Thanks.you should try something different, since you are mixing up a lot of code.
1) create a separate method just to connect and disconnect from a database;
2) use the value entered and see if you can find a record in the table. If the record is there, then you should re-direct your jsp to a jspError, else goes to another form.
the code below give you some idea
if( sAction.equals("Add1") ) {
sITEM = request.getParameter("parameter1");
try {
itemmaster.connect();
itemmaster.viewitemmaster( sITEM );
rs = itemmaster.getRs();
if( rs.next() ) {
sURL = "additemmaster1.jsp";
else {
request.setAttribute( "asITEM", sITEM );
sURL = "additemmaster2.jsp";
finally {
rs.close();
itemmaster.disconnect();
} -
Import data into XMLType tables
I have a document whose root node is MedlineCitationSet. It contains one or more MedlineCitations
i.e
<MedlineCitationSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://localhost/schema/medline.xsd">
<MedlineCitation Owner="NLM" Status="Completed">
<MedlineID>66039085</MedlineID>
</MedlineCitation>
<MedlineCitation Owner="NLM" Status="Completed">
<MedlineID>66039086</MedlineID>
</MedlineCitation>
</MedlineCitationSet>
I registered the xschema http://localhost/schema/medline.xsd in the XML db.
I then created two XMLType tables
CREATE TABLE MEDLINECITATIONS OF XMLTYPE XMLSCHEMA "http://localhost/schema/medline.xsd" ELEMENT "MedlineCitation";
CREATE TABLE XMLLOAD OF XMLTYPE XMLSCHEMA "http://localhost/schema/medline.xsd" ELEMENT "MedlineCitationSet";
I then import the xmldocument using the following function
INSERT INTO XMLLOAD VALUES (GETXML ('smallxmldoc.xml'));
The getxml function was defined in a previous thread (I can't seem to find in again). It basically reads the file into a clob and then returns an xmltype for the clob.
It does work and inserts a single record for the entire[i]Long postings are being truncated to ~1 kB at this time.--- My message was truncated. Here is the rest ---
If I run the following query,
SELECT VALUE (O) FROM XMLLOAD X, TABLE (XMLSEQUENCE (EXTRACT (VALUE(X), '/MedlineCitationSet/MedlineCitation'))) O;
I get 15 records back one for each MedlineCitation. If I run
INSERT INTO MEDLINECITATIONS
SELECT VALUE (O) FROM XMLLOAD X, TABLE (XMLSEQUENCE (EXTRACT (VALUE(X), '/MedlineCitationSet/MedlineCitation'))) O;
I get a ORA-19007: Schema and element do not match. I don't understand why they wouldn't match. They were both created using the same schema. It's almost as though the XMLType that is returned by the query "loses" it's schema so even though they match XMLdb is kicking it out. Anybody have any ideas? Is there a simpler way that would allow me to directly import the MedlineCitations into the MEDLINECITATIONS table?
Thanks
Marc Paris -
Error while loading data into External table from the flat files
HI ,
We have a data load in our project which feeds the oracle external tables with the data from the Flat Files(.bcp files) in unix.
While loading the data, we are encountering the following error.
Error occured (Error Code : -29913 and Error Message : ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-04063: un) while loading data into table_ext
Please let us know what needs to be done in this case to solve this problem.
Thanks,
KartheekKartheek,
I used Google (mine still works).... please check those links:
http://oraclequirks.blogspot.com/2008/07/ora-29400-data-cartridge-error.html
http://jonathanlewis.wordpress.com/2011/02/15/ora-29913/
HTH,
Thierry
Maybe you are looking for
-
Difference between Scheduling agreement delivery schedule and PO delivery s
Dear All, Please tell the difference between the Scheduling agreement delivey schedule and PO delivery schdule. In PO itself, we can give the delivery schedule. Then what is the purpose of making scheduling agreement and maintain schedule in ME38? Re
-
EPub conversion of a book made by iBooks Author ?
To get a book made by iBooks Author, into the iBookstore, a ePub format has to be "available" when applying for a iTunes account (Able to deliver book content in EPUB format, passing the latest version of EpubCheck) Does iBooks Author convert to ePub
-
How can I resolve trial downloads?
I joined Adobe Creative Cloud yesterday. I own Creative Suite CS4 which I purchased from Adobe. I was approved for the 29 dollars a month. My downloads went fine except I have the trial products. How can I resolve this? Thanks, Renee
-
Hi..! TOO BIG TO HANDLE OR SOME OTHER ERROR
Hi, I am getting the following error when i am trying to run an plsql program.. what may be the reason.. the first and last lines are debugs in my program... Control is not going to the function what may be the reason.. error message is as follows..
-
All services stuck in maintenance mode
I've got a problem on Solaris 10. All of the enabled inet services are in maintenance mode. rlogin, ftp, telnet, stlisten, xfs, etc, etc - are all in maintenance mode. The inetadm command shows no online services, only disabled and maintenance. I've