Insert Data in a Oracle VAARAY
Hi
I'm trying to insert Data in a Table with an VARRAY Attribute.
Here is my Model:
CREATE OR REPLACE TYPE TelNrTyp AS
ARRAY(10) OF NUMBER(20);
CREATE OR REPLACE TYPE AdresseTyp AS OBJECT
(Strasse VARCHAR2(20), TelNR TelNrTyp);
CREATE OR REPLACE TYPE AngestellterTyp AS OBJECT(
PersNr Integer,
Name VARCHAR2(20),
Adr AdresseTyp);
CREATE TABLE Angestellter OF AngestellterTyp(
PersNr PRIMARY KEY,
Name NOT NULL,
Adr DEFAULT AdresseTyp(NULL,NULL,NULL,NULL)
I have now manuly inserted Data in SQLPlus. This works fine. Then I made a full XML Export from the Data to a File. This also works fine. Next i tried to write XML Data into the Table Model, with the same Format like the Export.
Here is the XML Code:
<?xml version = '1.0'?>
<ROWSET>
<ROW num="1">
<PERSNR>12348</PERSNR>
<NAME>Tester</NAME>
<ADR>
<STRASSE>Gottfried-K Str.</STRASSE>
<TELNR>
<TELNR_ITEM>111</TELNR_ITEM>
<TELNR_ITEM>222</TELNR_ITEM>
</TELNR>
</ADR>
</ROW>
</ROWSET>
Now following Error appears:
java.lang.reflect.InvocationTargetException: oracle.xml.sql.OracleXMLSQLExceptio
n: 'getArrayVal: Interner Fehler -- '-5 != 2'' bei der Verarbeitung von ROW-Ele
ment 0. Alle fr)zheren XML-Zeilen%Rnderungen wurden zur)zckgesetzt. in XML-Dokume
nt gefunden.
It works, when i remove the TelNr Part in the XML document.
Can somebody help me ?
Best Thanks, Felix
in english...
java.lang.reflect.InvocationTargetException: oracle.xml.sql.OracleXMLSQLExceptio
n: 'getArrayVal: intern Failure-- '-5 != 2'' by Processing ROW-Element 0. Rollback perfomed. - in XML-Document found.
at oracle.xml.sql.dml.OracleXMLSave.saveXML(OracleXMLSave.java:2315)
at oracle.xml.sql.dml.OracleXMLSave.saveXML(OracleXMLSave.java:2189)
at oracle.xml.sql.dml.OracleXMLSave.insertXML(OracleXMLSave.java:1278)
at Class2.main(Class2.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)
null
Similar Messages
-
Insert date time into oracle database from jsp
pls tell me ,from jsp how can I insert datetime values into oracle database .I am using oracle 9i .here is codethat i have tried
html--code
<select name="date">
<option selected>dd</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
<select name="month">
<option selected>dd</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
<select name="year">
<option selected>dd</option>
<option>2004</option>
<option>2005</option>
<option>2006</option>
<option>2007</option>
</select>
here the jsp code
<% date= request.getParameter("date"); %>
<% month= request.getParameter("month"); %>
<% year= request.getParameter("year"); %>
try
{ Class.forName("oracle.jdbc.driver.OracleDriver"); }
catch (ClassNotFoundException exception)
try
Connection connection = null;
out.println("connectiong the database");
connection = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcsid","scott","tiger");
out.println("connection getted");
int rows = 0;
String query_2 = "insert into mrdetails values(?)";
String dob = date+month+year;
prepstat = connection.prepareStatement(query_2);
prepstat.setTimestamp(4,dob);
rows = prepstat.executeUpdate();
out.println("data updated");
catch (Exception exception3)
out.println("Exception raised"+exception3.toString());
}To insert date values into a database, you should use java.sql.Date. If it also has a time component, then java.sql.TimeStamp.
Your use of prepared statements is good.
You just need to convert the parameters into a date.
One way to do this is using java.text.SimpleDateFormat.
int rows = 0;
String query_2 = "insert into mrdetails values(?)";
String dob = date+"/" + month+ "/" + year;
SimpleDateFormat sdf = new SImpleDateFormat("dd/MM/yyyy");
java.util.Date javaDate = sdf.parse(dob);
java.sql.Date sqlDate = new java.sql.Date(javaDate .getTime);
prepstat = connection.prepareStatement(query_2);
prepstat.setTimestamp(4,sqlDate);
rows = prepstat.executeUpdate();
out.println("data updated");Cheers,
evnafets -
Problems inserting date values in Oracle 10g
Hi All,
I'm having SERIOUS problems trying to insert a simple date value in my oracle.
I did this one million times before in xMII 11.5, but now it appears that doesn't work anymore!
Here are some info:
Data Server Config:
Date Prefix: TO_DATE('
Date_Sufix: ', 'MM/DD/YYYY HH24:MI:SS')
Internal Date Format: yyyy-MM-dd HH:mm:ss
In my Query Template:
Date and Time Format: MM/dd/yyyy HH:mm:ss
In my Transaction
Parameter: datefromxmlformat(datenow, "MM/dd/yyyy HH:mm:ss")
I also tried change the parameter to datenow, no success.
I tried to change the Query Template format, no success.
Finally, I tried to change my Date prefix & sufix, no success too.
I really don't know what else I can do. I would appreciate some help.
PS: I'm using xMII 12.0.1 with ojdbc14.jar
Thanks in advance.
Pedro SenaPedro,
The Data Server config for InternalDateFormat should be: MM/dd/yyyy HH:mm:ss
This is because it is used in conjunction with the DatePrefix and DateSuffix whenever you use the DateColumn or the [SD] and [ED] tokens in a query template.
If you are inserting a date field with an arbitrary parameter (not a date token like above) then you need to use the TO_DATE wrapper pieces around your date field string.
The DateFormat in the query template controls the format of the StartDate and EndDate buttons in the applet toolbar if using an iChart/iSPCChart/iGrid and a time sensitive query, but when you build the string for an insert parameter you must manage the whole format yourself.
If you really just want datenow and the xMII server time is sufficient for your insert query then you can leverage the Data Server config settings like: INSERT INTO TABLE VALUES([ED)
This way the default query template time settings will use 'now' for the end date of the query and when the string is sent to Oracle it will actually look like:
INSERT INTO TABLE VALUES(TO_DATE('10/19/2007 08:41:00', 'MM/DD/YYYY HH24:MI:SS'))
Regards,
Jeremy -
Problem while inserting Date/Time in Oracle Database
Hai,
i want to insert the date and time in a date column. here, i am using java.sql.Date and java.sql.Time to assign the date in Prepared Statement.
PreparedStatement psmt=con.prepareStatement("insert into test(ex_date) values(?)");
java.util.Calendar c=Calendar.getInstance();
c.set(2002,2,21,10,10,00);
java.sql.Date d=new Date(c.getTime().getTime());
java.sql.Time t=new Time(c.getTime().getTime());
psmt.clearParameters();
psmt.setDate(1,d);
psmt.setDate(1,t);
psmt.executeUpdate();
Above program is inserted the Date and time in the database as the following "1900/2/21 10:10 AM"
but i am giving the year as 2002. it inserted the year as 1900. what is the problem with the code?
please let me know
Thanks in advance.
Regards
sankarjune14Hai Franco,
i put the wrong code. Here, is the Original Code.
PreparedStatement psmt=con.prepareStatement("insert into test(ex_date) values(?)");
java.util.Calendar c=Calendar.getInstance();
c.set(2002,2,21,10,10,00);
java.sql.Date d=new Date(c.getTime().getTime());
java.sql.Time t=new Time(c.getTime().getTime());
psmt.clearParameters();
psmt.setDate(1,d);
psmt.setTime(1,t); // Last time i put psmt.setDate(1,t);
psmt.executeUpdate();
and, the getTimeInMillis() method is a protected method in java.util.Calendar class. how can we use it
please give me some other idea to insert the date and time in oracle database.
Thanks in advance
sankarjune14 -
How to insert date value into oracle?
hi,
iam reading date from xml using vb.net and inserting it into oracle table.
the date value in xml file is in the format of "01012003".
i want to insert into oracle table.but iam getting an error "ORA-1843: not a valid month".
how to solve this problem.
Any suggestions or examples...That's not a date. It's just a string. Convert it to a date using,
DateTime d = DateTime.ParseExact("01022003", "MMddyyyy", null);
or
Dim d As DateTime = DateTime.ParseExact("01022003", "MMddyyyy", Nothing)
and then bind it to a parameter. ODP.NET will take it from there.
You should never be hard-coding the date literal into your SQL query.
David -
Anyone inserted data directly from Oracle 11g to MySQL?
Hi There,
We work mainly on Oracle 11g. However, there is a requirement to now connect to an external MySQL database from our company's Oracle Database. Would be trying to do this for the first time. The process would be to download the data using PL/SQL from the ORacle 11g DB and then insert the data into the MySQL DB table. Had a few questions,
1. Are there any known issues with connections between ORacle as source and MySQL as target. Anything that needs to be kept in mind?
2. How do we send the data to MySQL, I mean in PL/SQL we can have the procedure create the insert statements. But can we directly fire the insert on MySQL ? If yes, any suggestions on what the commands would be?
3.Any way to figure out if the insert was successful?
4. We might also have to do other operations like update/delete etc.
5. Any possible reference or sample code on this would also help.
ThanksWell, the simplest and most direct approach would be to create a java function in the database to perform the operation and call it from pl/sql. I've done it before and there are examples out there and its a pretty straight-forward process.
A quick example from [this website|http://w2.syronex.com/jmr/edu/db/oracle-and-java]
import java.io.*;
import java.sql.*;
public class OraThin {
public static void main(String[] args) {
try {
Connection con=null;
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection(
"jdbc:oracle:thin:@machine_name:1521:database_name",
"scott",
"tiger");
Statement s=con.createStatement();
s.execute("
INSERT INTO BOOKS VALUES
'A Tale of Two Cities',
'William Shakespeare',
4567891231,
'5-JAN-1962'
s.close();
con.close();
} catch(Exception e){e.printStackTrace();}
}Check out Oracle's Java tutorial at http://docs.oracle.com/javase/tutorial/jdbc/basics/storedprocedures.html for more in-depth information.
If you're going to be doing this for more than a handful of tables under very controlled circumstances keeping it synchronized is going to be a mess, however.
Edited by: Bill Haverberg on Jun 20, 2012 8:05 AM -
How to read a CSV file and Insert data into an Oracle Table
Hi All,
I have a Clob file as a in parameter in my PROC. . File is comma separated.need procedure that would parse this CLOB variable and populate in oracle table .
Please let me some suggestions on this.
Thanks,
Chandra Rjeneesh wrote:
And, please don't "hijack" 5 year old thread..Better start a new one..I've just split it off to a thread of it's own. ;)
@OP,
I have a Clob file as a in parameter in my PROC. . File is comma separated.need procedure that would parse this CLOB variable and populate in oracle table .You don't have a "clob file" as there's no such thing. CLOB is a datatype for storing large character based objects. A file is something on the operating system's filesystem.
So, why have you stored comma seperated data in a CLOB?
Where did this data come from? If it came from a file, why didn't you use SQL*Loader or, even better, External Tables to read and parse the data into structured format when populating the database with it?
If you really do have to parse a CLOB of data to pull out the comma seperated values, then you're going to have to write something yourself to do that, reading "lines" by looking for the newline character(s), and then breaking up the "lines" into the component data by looking for commas within it, using normal string functions such as INSTR and SUBSTR or, if necessary, REGEXP_INSTR and REGEXP_SUBSTR. If you have string data that contains commas but uses double quotes around the string, then you'll also have the added complexity of ignoring commas within such string data.
Like I say... it's much easier with SQL*Loader of External Tables as these are designed to parse such CSV type data. -
Connection string to insert data to Oracle DB
Hay guys,
Now I am facing the problem to insert data to the oracle db. I already connect the db to my netbeans service tag & also found the db & tables. But does not know how to insert, delete etc from my JSF pages. I send my JSF code. You guys tell me in which position in the code I will set the connection string, as well as the pattern of connection string. You guys found that I add a button name "show". I want that when I press the "show" button then the relative data will show in the corresponding textfield. I would like to mention that my database server ip is "192.168.56.2". And my netbeans installed pc's ip is "192.168.56.1". My oracle SID is "orcl", user name: "Asystem", Password: "abc123", and the table I want to access is "user_info". Please guys help me.....
THE CODE OF MY JSF PAGE IS TO:
<?xml version="1.0" encoding="UTF-8"?>
<!--
Document : Page1
Created on : Feb 15, 2010, 10:33:41 PM
Author : Taibur
-->
<jsp:root version="2.1" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:webuijsf="http://www.sun.com/webui/webuijsf">
<jsp:directive.page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"/>
<f:view>
<webuijsf:page id="page1">
<webuijsf:html id="html1">
<webuijsf:head id="head1">
<webuijsf:link id="link1" url="/resources/stylesheet.css"/>
</webuijsf:head>
<webuijsf:body id="body1" style="-rave-layout: grid">
<webuijsf:form id="form1">
<webuijsf:textField id="textField1" style="left: 168px; top: 72px; position: absolute"/>
<webuijsf:button actionExpression="#{Page1.button1_action}" id="button1"
style="left: 239px; top: 264px; position: absolute; width: 96px" text="Show"/>
<webuijsf:textField id="textField2" style="left: 168px; top: 96px; position: absolute"/>
<webuijsf:textField id="textField6" style="left: 168px; top: 192px; position: absolute"/>
<webuijsf:textField id="textField3" style="left: 168px; top: 120px; position: absolute"/>
<webuijsf:textField id="textField4" style="left: 168px; top: 144px; position: absolute"/>
<webuijsf:textField id="textField5" style="left: 168px; top: 168px; position: absolute"/>
<webuijsf:textField id="textField7" style="left: 168px; top: 216px; position: absolute"/>
</webuijsf:form>
</webuijsf:body>
</webuijsf:html>
</webuijsf:page>
</f:view>
</jsp:root>im not sure if you can make a query directly from your jsf,
but its a better practice to do that in your backing bean -
Inserting data from Oracle to SQL Server 2008
Hi All,
I am using oracle 9.2.0.7 and SQL server 2008 in windows server 2003 operating system.
My requirment is like below.
1) I would liek to insert data from the Oracle database to SQL Server.
For the above requirement we have created the ODBC, then configure the listener file, tns file, and created the db link. This part is working fine as I am able to select the data from the SQL Server.
But when I am inserting the record from the oracle database to the SQL Server I am getting the error, (ORA-00904) Here oracle can not identified the column name.
My insert statement is like below.
insert into test@SQLTEST (name, fullname)
values ('Oracle', 'Oracle server data');
Test is the SQL server table name and sqltest is the db link name.
If I am select the data
select * from test@SQLTEST from Oralce I am getting the data properly.
Thanks,
SUN
Edited by: User SUN@ on Jun 9, 2010 5:49 PMHi,
I modify the column name as "f_name" and "l_name";
Still I am getting the same error;
Thanks,
SUN -
How to insert data type information to oracle database
Hi, there,
I want to insert date information to oracle database in a jsp page using JSTL. but always got wrong message:
javax.servlet.jsp.JspException:
INSERT INTO DATE_TEST
(date_default,date_short,date_medium)
values(?,?,?)
: Invalid column type
I don't know how to convert java date type to oracle date type or vice versa. the following is the source code(all the fields of DATE_DEFAULT,DATE_SHORT,DATE_MEDIUM are oracle date type. and even I want to insert d instead d1, I got the same wrong message)
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ page import="java.util.*" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
<%
Calendar now;
Calendar rightNow = Calendar.getInstance();
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>
Hello World
</title>
</head>
<body>
<h2>
The current time is:
</h2>
<p>
<%= new java.util.Date() %></p>
<%
java.util.Date d=new java.util.Date();
java.sql.Date d1=new java.sql.Date(d.getYear(),d.getMonth(),d.getDate());
out.print(d1.toString());
%>
<sql:update>
INSERT INTO DATE_TEST
(DATE_DEFAULT,DATE_SHORT,DATE_MEDIUM)
VALUES(?,?,?)
<sql:dateParam value="${d}" type="date" />
<sql:dateParam value="${d}" type="date" />
<sql:dateParam value="${d}" type="date" />
</sql:update>
</body>
</html>
thank you very much for the great help!!I don't have time to read thru all your code, but I hope this information will help you.
It depends on how the Oracle database was set up. Usually, the date format is something like this: '27-MAY-2003 22:10:00'. A quick check will be to run this SQL script in SQLPlus:
select sysdate from dual;
You have to convert the date from textbox or whatever to this exact Oracle format. Otherwise, Oracle will not accept it. It is very picky on that. I found the best way is to do the conversion inside the SQL statement. It makes life so much easier.
Hope this helps. -
How to insert date into oracle database
Hi, there,
I want to insert date information to oracle database in a jsp page using JSTL. but always got wrong message:
javax.servlet.jsp.JspException:
INSERT INTO DATE_TEST
(date_default,date_short,date_medium)
values(?,?,?)
: Invalid column type
I don't know how to convert java date type to oracle date type or vice versa. the following is the source code(all the fields of DATE_DEFAULT,DATE_SHORT,DATE_MEDIUM are oracle date type. and even I want to insert d instead d1, I got the same wrong message)
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ page import="java.util.*" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
<%
Calendar now;
Calendar rightNow = Calendar.getInstance();
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>
Hello World
</title>
</head>
<body>
<h2>
The current time is:
</h2>
<p>
<%= new java.util.Date() %></p>
<%
java.util.Date d=new java.util.Date();
java.sql.Date d1=new java.sql.Date(d.getYear(),d.getMonth(),d.getDate());
out.print(d1.toString());
%>
<sql:update>
INSERT INTO DATE_TEST
(DATE_DEFAULT,DATE_SHORT,DATE_MEDIUM)
VALUES(?,?,?)
<sql:dateParam value="${d}" type="date" />
<sql:dateParam value="${d}" type="date" />
<sql:dateParam value="${d}" type="date" />
</sql:update>
</body>
</html>
thank you very much for the great help!!Hi, there,
I want to insert date information to oracle database in a jsp page using JSTL. but always got wrong message:
javax.servlet.jsp.JspException:
INSERT INTO DATE_TEST
(date_default,date_short,date_medium)
values(?,?,?)
: Invalid column type
I don't know how to convert java date type to oracle date type or vice versa. the following is the source code(all the fields of DATE_DEFAULT,DATE_SHORT,DATE_MEDIUM are oracle date type. and even I want to insert d instead d1, I got the same wrong message)
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ page import="java.util.*" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
<%
Calendar now;
Calendar rightNow = Calendar.getInstance();
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>
Hello World
</title>
</head>
<body>
<h2>
The current time is:
</h2>
<p>
<%= new java.util.Date() %></p>
<%
java.util.Date d=new java.util.Date();
java.sql.Date d1=new java.sql.Date(d.getYear(),d.getMonth(),d.getDate());
out.print(d1.toString());
%>
<sql:update>
INSERT INTO DATE_TEST
(DATE_DEFAULT,DATE_SHORT,DATE_MEDIUM)
VALUES(?,?,?)
<sql:dateParam value="${d}" type="date" />
<sql:dateParam value="${d}" type="date" />
<sql:dateParam value="${d}" type="date" />
</sql:update>
</body>
</html>
thank you very much for the great help!! -
Insert data into msql thru table trigger
Hi,
I installed dg4msql 11.2 and I would like to insert some data into our msql thru one of our Oracle table after insert table,
I used the syntax below
insert into test@dg4msql ("PN") values (:new.PN)
but the below error problem if I insert data into my Oracle table,
ORA-02054: transaction 4.17.15898 in-doubt
ORA-028500, connect from ORACLE to a non-Oracle system returned this message
[Oracle][ODBC SQL Server Driver][SQL Server] Invalid object name "RECOVER.HS_TRANSACTION_LOG
Do I have to create the HS_TRANSACTION_LOG table in my msql server to resolve this problem?
Thanks
VincentVincent,
If the gateway insert is being done as part of a trigger then it will almost certainly be part of a distributed transaction so yes, you will have to create the transaction log table and the recovery user in the SQL*Server database.
As well as the gateway documentation have a look at this note in My Oracle Support -
Note.227011.1 How to Setup DG4MSQL to Use Distributed Transactions (Doc ID 227011.1)
Regards,
Mike -
Error while insert data using execute immediate in dynamic table in oracle
Error while insert data using execute immediate in dynamic table created in oracle 11g .
first the dynamic nested table (op_sample) was created using the executed immediate...
object is
CREATE OR REPLACE TYPE ASI.sub_mark AS OBJECT (
mark1 number,
mark2 number
t_sub_mark is a class of type sub_mark
CREATE OR REPLACE TYPE ASI.t_sub_mark is table of sub_mark;
create table sam1(id number,name varchar2(30));
nested table is created below:
begin
EXECUTE IMMEDIATE ' create table '||op_sample||'
(id number,name varchar2(30),subject_obj t_sub_mark) nested table subject_obj store as nest_tab return as value';
end;
now data from sam1 table and object (subject_obj) are inserted into the dynamic table
declare
subject_obj t_sub_mark;
begin
subject_obj:= t_sub_mark();
EXECUTE IMMEDIATE 'insert into op_sample (select id,name,subject_obj from sam1) ';
end;
and got the below error:
ORA-00904: "SUBJECT_OBJ": invalid identifier
ORA-06512: at line 7
then when we tried to insert the data into the dynam_table with the subject_marks object as null,we received the following error..
execute immediate 'insert into '||dynam_table ||'
(SELECT887684 wrote:
ORA-00904: "SUBJECT_OBJ": invalid identifier
ORA-06512: at line 7The problem is that your variable subject_obj is not in scope inside the dynamic SQL you are building. The SQL engine does not know your PL/SQL variable, so it tries to find a column named SUBJECT_OBJ in your SAM1 table.
If you need to use dynamic SQL for this, then you must bind the variable. Something like this:
EXECUTE IMMEDIATE 'insert into op_sample (select id,name,:bind_subject_obj from sam1) ' USING subject_obj;Alternatively you might figure out to use static SQL rather than dynamic SQL (if possible for your project.) In static SQL the PL/SQL engine binds the variables for you automatically. -
Insert data 32K into a column of type LONG using the oracle server side jdbc driver
Hi,
I need to insert data of more than 32k into a
column of type LONG.
I use the following code:
String s = "larger then 32K";
PreparedStatement pstmt = dbcon.prepareStatement(
"INSERT INTO TEST (LO) VALUES (?)");
pstmt.setCharacterStream(1, new StringReader(s), s.length());
pstmt.executeUpdate();
dbcon.commit();
If I use the "standard" oracle thin client driver from classes_12.zip ("jdbc:oracle:thin:@kn7:1521:kn7a") every thing is working fine. But if I use the oracle server side jdbc driver ("jdbc:default:connection:") I get the exception java.sql.SQLException:
Datasize larger then max. datasize for this type: oracle.jdbc.kprb.KprbDBStatement@50f4f46c
even if the string s exceeds a length of 32767 bytes.
I'm afraid it has something to do with the 32K limitation in PL/SQL but in fact we do not use any PL/SQL code in this case.
What can we do? Using LOB's is not an option because we have client software written in 3rd party 4gl language that is unable to handle LOB's.
Any idea would be appreciated.
Thomas Stiegler
nullIn rdbms 8.1.7 "relnotes" folder, there is a "Readme_JDBC.txt" file (on win nt) stating
Known Problems/Limitations In This Release
<entries 1 through 3 omiited for brevity >
4. The Server-side Internal Driver has the following limitation:
- Data access for LONG and LONG RAW types is limited to 32K of
data. -
How to Insert data from an XML file into an Oracle 10g table
Hello,
Please can you help me as I have hit a brick wall with this problem.
We are running version 10g Oracle and we will start receiving XML files with employee data that needs loading into a table, this is the XML file:
<?xml version="1.0"?>
<RECRUITS>
<RECRUIT>
<FIRST_NAME>Gordon</FIRST_NAME>
<LAST_NAME>Brown</LAST_NAME>
<SHORT_NAME>GORDONBROWN</SHORT_NAME>
<APP_NO>00002</APP_NO>
<STATUS>M</STATUS>
<DATE_FROM>21-JUL-2006</DATE_FROM>
<RESOURCE_TYPE>P</RESOURCE_TYPE>
<TITLE>Mr</TITLE>
<DATE_OF_BIRTH>28-DEC-1983</DATE_OF_BIRTH>
<SOCIAL_SEC>AB128456A</SOCIAL_SEC>
<PARTTIME_PCT>1</PARTTIME_PCT>
<SEX>M</SEX>
<ADDRESS_TYPE>1</ADDRESS_TYPE>
<ADDRESS>A HOUSE SOMEWHERE HERE</ADDRESS>
<ZIP_CODE>PE3 LLL</ZIP_CODE>
<PLACE>BOROUGH</PLACE>
<COUNTRY_CODE>UK</COUNTRY_CODE>
<PROVINCE>UK</PROVINCE>
<EMAIL>[email protected]</EMAIL>
</RECRUIT>
(FYI - there may be more than 1 employee in each file so all of the above will be repeated X amount of times)
</RECRUITS>
To make things simple we have created a table which mirrors the XML file completely to load the data into, the SQL i have used is thus:
CREATE TABLE RECRUITMENT
FIRST_NAME VARCHAR2(30),
LAST_NAME VARCHAR2(30),
SHORT_NAME VARCHAR2(30),
APP_NO NUMBER,
STATUS VARCHAR2(1),
DATE_FROM DATE,
RESOURCE_TYPE VARCHAR2(1),
TITLE VARCHAR2(4),
DATE_OF_BIRTH DATE,
SOCIAL_SEC VARCHAR2(9),
PARTTIME_PCT NUMBER,
SEX VARCHAR2(1),
ADDRESS_TYPE VARCHAR2(1),
ADDRESS VARCHAR2(30),
ZIP_CODE VARCHAR2(8),
PLACE VARCHAR2(10),
PROVINCE VARCHAR2(3),
EMAIL VARCHAR2(20)
Every method we try from the numerous documents and so called "user guides" have failed, please can somebody show me the PL/SQL i need to get this files data into the above table?
We need to be able to do this purely through SQL*PLUS as we hope - if we ever get it working manually to create a procuedure that will encapsulate everything so it can be run over and over again.
The XML file is sitting in the XMLDIR and is called REC.XML.
Please help : (Hi, I have got some material for inserting data into oracle table from xml file, this might help you.
Create XML Document Table
create table XML_DOCUMENT_TABLE
FILENAME varchar2(64),
XML_DOCUMENT XMLTYPE
(This will be as per your record details).
Inserting record to Oracle Table
declare
XML_TEXT CLOB := '<smsnotification>
<messageid> 256427844 </messageid>
<protocolid> CO0NPS2KHQ </protocolid>
<notifiedon> 1156123007416 </notifiedon>
<status> 3PBI: Invalid </status>
<additionalinfo> Customer account not active </additionalinfo>
<carrierid> 1175 </carrierid>
</smsnotification>';
begin
insert into XML_DOCUMENT_TABLE values ('Receipt.xml',XMLTYPE(XML_TEXT));
end;
Select Statement
select extractValue(XML_DOCUMENT,'/smsnotification/messageid') Messageid,
extractValue(XML_DOCUMENT,'/smsnotification/status') Status,
extractValue(XML_DOCUMENT,'/smsnotification/carrierid') CarrierID
from XML_DOCUMENT_TABLE;
Maybe you are looking for
-
I was downloading apps that i deleted and my 4th generation froze. So i turned it off and restarted it and nothing happened. It is just showing me the apple screen after you restart it. I dont know what to do please help!
-
Oracle 9.0.1 error on RH 133 9.01. Please help
I am new to Linux please help me. This message occur while i run runInstaller. Xlib: connection to ":0.0" refused by server Xlib: No protocol specified java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPL
-
Flash player not working properly
why does my flash player keep locking up also internet explorer keeps warning me usage is to hi how do i fix this
-
How to read connected wifi network password programetically in Mac
Hi, In my application, i want to read currently connected wifi network password programetically. Is there any way that i can use apple api's to read wifi network password. I feel there should be some way to read in Mac also, beca
-
I want to install Japanese version of Photoshop and Indesign.
I want to install Japanese version of Photoshop and Indesign. ButI have installed English version. Is this a reason that I can't install?