Parse an XML of size greater than 64k using DOM
Hi,
I had a question regarding limitation of parsing a file of size greater than 64k in Oracle 10g. Is the error "ORA-31167: XML nodes over 64K in size cannot be inserted" related to this ?
One of the developers was telling that if we load an XML document of size greater than 64k into Oracle DOM, it will fail. Is 64k the size of the file or the size of text node in the XML?
Is there a way we can overcome this limitation?
I believe that Oracle 11g R1 documentation states that existing 64k limitation on the size of a text node has been eliminated. So if we use Oracle 11g, does it mean we can load XML files of size greater than 64K (or XML having text nodes of size greater than 64k)
I am not well versed with XML. Please help me out.
Thanks for your help.
Search this forum for the ORA-error.
Among others it will show the following: Node size
In this case I think we can assured that "a future release" in 2006 was 11.1 as mentioned by Mark (= Sr Product Manager Oracle XML DB)
Similar Messages
-
How to check arraylist size greater than 1 using expression language in jsp
I want to remove the scripplet in jsp, so i am using jstl tags with expression language in it.
My scripplet is
<% if (arraylist.size() > 1) {
---do something ----
%>
i wanted to change this to
<c:if test="${ somecondition }">
---do something ----
</c:if>
here "somecondition" is exactly i need to check whether my arraylist size is greater than 1.
so please can anyone help me how can i do that.If you do not mind, you can create a function and package it into a tag library of your own. Then you can use the function just as the existing expressions language construct. You may take a look at the article use functions in jsp expression language.
-
Load and Read XML file size more than 4GB
Hi All
My environment is Oracle 10.2.0.4 on Solaris and I have processes to work with XML file as below detail by PL/SQL
1. I read XML file over HTTP port into XMLTYPE column in table.
2. I read value no.1 from table and extract to insert into another table
On test db, everything is work but I got below error when I use production XML file
ORA-31186: Document contains too many nodes
Current XML size about 100MB but the procedure must support XML file size more than 4GB in the future.
Belows are some part of my code for your info.
1. Read XML by line into variable and insert into table
LOOP
UTL_HTTP.read_text(http_resp, v_resptext, 32767);
DBMS_LOB.writeappend (v_clob, LENGTH(v_resptext), v_resptext);
END LOOP;
INSERT INTO XMLTAB VALUES (XMLTYPE(v_clob));
2. Read cell value from XML column and extract to insert into another table
DECLARE
CURSOR c_xml IS
(SELECT trim(y.cvalue)
FROM XMLTAB xt,
XMLTable('/Table/Rows/Cells/Cell' PASSING xt.XMLDoc
COLUMNS
cvalue
VARCHAR(50)
PATH '/') y;
BEGIN
OPEN c_xml;
FETCH c_xml INTO v_TempValue;
<Generate insert statement into another table>
EXIT WHEN c_xml%NOTFOUND;
CLOSE c_xml;
END
And one more problem is performance issue when XML file is big, first step to load XML content to XMLTYPE column slowly.
Could you please suggest any solution to read large XML file and improve performance?
Thank you in advance.
HikoSee Mark Drake's (Product Manager Oracle XMLDB, Oracle US) response in this old post: ORA-31167: 64k size limit for XML node
The "in a future release" reference, means that this boundary 64K / node issue, was lifted in 11g and onwards...
So first of all, if not only due to performance improvements, I would strongly suggest to upgrade to a database version which is supported by Oracle, see My Oracle Support... In short Oracle 10.2.x was in extended support up to summer 2013, if I am not mistaken and is currently not supported anymore...
If you are able to able to upgrade, please use the much, much more performing XMLType Securefile Binary XML storage option, instead of the XMLType (Basicfile) CLOB storage option.
HTH -
Passing variable of size greater than 32767 from Pro*C to PL/SQL procedure
Hi,
I am trying to pass a variable os size greater than 32767 from Pro*C to an SQL procedure.I tried assigning the host variable directly to a CLOB in the SQL section but nothing happens.In the below code the size of l_var1 is 33000.PROC_DATA is a procedure that takes CLOB as input and gives the other three(Data,Err_Code,Err_Msg) as output.These variables are declared globally.
Process_Data(char* l_var1)
EXEC SQL EXECUTE
DECLARE
l_clob clob;
BEGIN
l_clob := :l_var1
PROC_DATA(l_clob,:Data,:Err_Code,:Err_Msg) ;
COMMIT;
END;
END-EXEC;
I also tried using DBMS_LOB.This was the code that i used.
Process_Data(char* l_var1)
EXEC SQL EXECUTE
DECLARE
l_clob clob;
BEGIN
DBMS_LOB.CREATETEMPORARY(l_clob,TRUE);
DBMS_LOB.OPEN(l_clob,dbms_lob.lob_readwrite);
DBMS_LOB.WRITE (l_clob, LENGTH (:l_var1), 1,:l_var1);
PROC_DATA(l_clob,:Data,:Err_Code,:Err_Msg) ;
COMMIT;
END;
END-EXEC;
Here since DBMS_LOB packages allow a maximum of 32767,the value of l_var1 is not being assigned to l_clob.
I am able to do the above process provided i split l_var1 into two variables and then append to l_clob using WRITEAPPEND.i.e l_var1 is 32000 in length and l_var2 contains the rest.
Process_Data(char* l_var1,char* l_var2)
EXEC SQL EXECUTE
DECLARE
l_clob clob;
BEGIN
dbms_lob.createtemporary(l_clob,TRUE);
dbms_lob.OPEN(l_clob,dbms_lob.lob_readwrite);
DBMS_LOB.WRITE (l_clob, LENGTH (:l_var1), 1,:l_var1);
DBMS_LOB.WRITEAPPEND (l_clob, LENGTH(:l_var2), :l_var2);
PROC_DATA(l_clob,:Data,:Err_Code,:Err_Msg) ;
COMMIT;
END;
END-EXEC;
But the above code requires dynamic memory allocation in Pro*C which i would like to avoid.Could you let me know if there is any other way to perform the above?Hi,
The Long Datatype has been deprecated use Clob or Blob. This will solve lot of problems inherent with the datatype.
Regards,
Ganesh R -
Java.exe sizes greater than 350M , web report often error
HI , friends
My ie is 8,and webi4.0.
the web report file(universe) has 63 reports,hundreds formulas,
open the report java.exe sizes greater than 350M.
every time edit report ,only edit fews formulas....then the edit does not work.
and edit Data Access,or refresh ,then error: An error has occured.....(Screenshot)
only to log off ,and shut down IE ...
After a while open the IE, Sign in web report... ...again...
I set the RAM as a virtual hard disk,and set up IE explorer buffer memory to the NEW hard disk,
but error still exists.
please help me , thanks.Hi,
On Windows 7, you may set the Java maximum Java heap size to 1536 MB in Java Control Panel -> Java -> Java Runtime Environment Settings, Runtime paramaters for both User and System.
-Xmx1536m -Xincgc
Note that
depending on the desktop OS, the maximum Java heap size could vary, you'd need to test it and find out the ceiling to that OS.
-Xincgc is to enable incremental garbage collection instead of waiting for whole lot chunk of garbage to be collected.
Hope this helps,
Jin-Chong -
Char types size greater than 256 in DOE
What is the standard to use characters with types size greater than 256 characters in DOE (bapiwrapper)?
Use STRING for length greater than 256 characters. In DOE, you should select TEXT_MEMO checkbox while defining node attribute in Data Object.
-
Index size greater than table size
HI ,
While checking the large segments , I came to know that index HZ_PARAM_TAB_N1 is larger than table HZ_PARAM_TAB . I think it's highly fragmented and requires defragmentation . Need your suggestion on the same that how can I collect more information on the same . Providing you more information .
1.
select sum(bytes)/1024/1024/1024,segment_name from dba_segments group by segment_name having sum(bytes)/1024/1024/1024 > 1 order by 1 desc;
SUM(BYTES)/1024/1024/1024 SEGMENT_NAME
81.2941895 HZ_PARAM_TAB_N1
72.1064453 SYS_LOB0000066009C00004$$
52.7703857 HZ_PARAM_TAB
2. Index code
<pre>
COLUMN_NAME COLUMN_POSITION
ITEM_KEY 1
PARAM_NAME 2
</pre>
Regards
RahulHi ,
Thanks . I know that rebuild will defragment it . But as I'm on my new site , I was looking for some more supporting information before drafting the mail on the same that it requires re org activity .It's not possible for an index to have the size greater than tables as it contains only 2 columns values + rowid . Whereas tables contains 6 columns .
<pre>
Name Datatype Length Mandatory Comments
ITEM_KEY VARCHAR2 (240) Yes Unique identifier for the event raised
PARAM_NAME VARCHAR2 (2000) Yes Name of the parameter
PARAM_CHAR VARCHAR2 (4000)
Value of the parameter only if its data type is VARCHAR2.
PARAM_NUM NUMBER
Value of the parameter only if its data type is NUM.
PARAM_DATE DATE
Value of the parameter only if its data type is DATE.
PARAM_INDICATOR VARCHAR2 (3) Yes Indicates if the parameter contains existing, new or >replacement values. OLD values currently exist. NEW values create initial values or replace existing values.</pre>
Regds
Rahul -
Method of a code greater than 64k
Hi!
When I run expert system program (that has thousands of if-then rules),
it gives me the following error.
java.lang.classformaterror: method of a code greater than 64k
program contains less java code and more if-then rules for testing accuracy of data mining model.
need help.
Sincerely,
sachinyep, follow silkn's suggestion.
so you have...
public void methodA()
methodB();
methodC();
//you probably might need to return the results of the if...else
public boolean methodB()
//put all the if...else crap
public boolean methodC()
//put all the if...else crap
} remember not to create too many methods! you will get a StackOverflow exception (occurs during runtime)! -
PUT Blobs of size greater than 5.5MB fail with HTTPS but not HTTP
I have written a Cygwin app that uploads (using the REST API PUT operation) Block Blobs to my Azure storage account, and it works well for different size blobs when using HTTP. However, use of SSL (i.e. PUT using HTTPS) fails for Blobs greater than 5.5MB.
Blobs less than 5.5MB upload correctly. Anything greater and I find that the TCP session (as seen by Wireshark) reports a dwindling window size that goes to 0 once the aforementioned number of bytes have been transferred. The failure is very repeatable and
consistent. As a point of reference, PUT operations against my Google/AWS/HP accounts work fine when using HTTPS for various object sizes, which suggests my problem is not in my client but specific to the HTTPS implementation on the MSAZURE storage servers.
If I upload the 5.5MB blob as two separate uploads of 4MB and 1.5MB followed by a PUT Block List, the operation succeeds as long as the two uploads used
separate HTTPS sessions. Notice the emphasis on separate. That same operation fails if I attempt to maintain an HTTPS session across both uploads. This is another data point that seems to suggest that the Storage
server has a problem
Any ideas on why I might be seeing this odd behavior that appears very specific to MS Azure HTTPS, but is not seen when used against AWS/Google/HP cloud storage servers?Hi,
I'm getting this problem also when trying to upload blobs > 5.5mb using the Azure PHP SDK with HTTPS.
There is no way I can find to get a blob > 5.5mb to upload, unless you use http, rather than https, which is not a good solution.
I've written my own scripts to use the HTTP_Request2 library, to send the request as a test, and it fails with that also when using the 'socket' method.
However, if I write a script using the PHP Curl extension directly, then it works fine, and blobs > 5.5mb get uploaded.
It seems to be irrelevant which method is used, uploading in 1 go, or using smaller chunks, the PHP SDK seems broken.
Also, I think I've found another bug in the SDK, when you do the smaller chunks, the assigning of the BlockID is not correct.
In: WindowsAzure/Blob/BlobRestProxy.php
Line: $block->setBlockId(base64_encode(str_pad($counter++, '0', 6)));
That is incorrect usage of the str_pad function, and if you upload a huge blob that needs splitting, then the blockIDs will after a while become a different length and therefore fail.
It should be: str_pad($counter++, 6, '0',STR_PAD_LEFT);
I also think there is 1 too many base64_encodes() in there, as I think its being done twice, once in that line, and then again within the createBlobBlock() just before the send() for a 2nd time.
Can someone please advice, when this/these bug(s) will be fixed in the PHP SDK, as at the moment its useless to me as I cant upload things securely. -
Parsing an xml output of a ws-client using JDOM
how do i use jdom to parse an output from a web service client,
ive been using JDev. 10g, was able to create a web service client to consume and return the output in the form of an xml.
i want to be able to parse the xml doc into variables such that i can insert them into the database.
is it possible to parse without saving it?
cheers,
Shivek Sachdevhow do i use jdom to parse an output from a web service client,
ive been using JDev. 10g, was able to create a web service client to consume and return the output in the form of an xml.
i want to be able to parse the xml doc into variables such that i can insert them into the database.
is it possible to parse without saving it?
cheers,
Shivek Sachdev -
AS2 decryption error on file sizes greater than 5MB.
We have a client who is not using biztalk but transmitting files to us via AS2. The AS2 file transmission occurs seamlessly when the file size is below 5MB, but Biztalk AS2 decoder fails to decrypt when file size exceeds 5MB. After searching the forums,
I learned that this is a known issue and there is a hot fix available to fix that issue. I wanted to replicate the same issue in my test environment so that i can apply the hot fix in that environment and make sure nothing breaks. I replicated the AS2
setup in 2 biztalk test machines . I used one machine as partner A and the other as partner B, then transmitted AS2 files from partner A to partner B. I sent files with sizes 2MB, 5MB, 15MB, and 50MB, but partner B received all the decrypted files successfully.
Production servers and test servers have biztalk 2010 installed.
In conclusion, the decryption issue is occurring in production machine only, and I am unable to replicate that issue in our test servers. I am scared to apply the hot fix or CU5 directly in production. Please advise if there is something else i am missing.
Thank you.
Error message:
Error details: An output message of the component "Microsoft.BizTalk.EdiInt.PipelineComponents" in receive pipeline "Microsoft.BizTalk.EdiInt.DefaultPipelines.AS2Receive, Microsoft.BizTalk.Edi.EdiIntPipelines, Version=3.0.1.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35" is suspended due to the following error:
An error occurred when decrypting an AS2 message..
The sequence number of the suspended message is 2
Hot fixes to fix the issue:
http://support.microsoft.com/kb/2480994/en-us
For some people CU5 fixed the issue.
Dilip BandiFirst, make sure CU5 wasn't unintentionally applied by Windows Update to your test config.
Second, either way, a valid strategy would be to apply CU5 as a normal patch, meaning DEV->TEST->UAT->PROD (or whatever your promotion path is). That way, you'll test for any breaking changes anyway and if the AS/2 issues isn't fixed, well,
you really no worse off. -
okay, after the upgrade to the itunes version 7.4 something strange happened. I couldn't play some files any more. After some testing i figured out that the affected files had a pattern - namely:
size > 8MB &
Bitrate > 192 &
No Album Picture
This isn't a quicktime bug - quicktime can play these songs fine. I think that there is some error with the "pre" loading of the album artwork for files of that kind. I'd classify this as a serious bug because one of my favorite albums (nick cave) is affected from this bug
regards,
GeorgI've solved it.
The problem is that itunes can't read certain mp3 tag informations after the update (7.4) any more (although mostof these tags were creted with former itunes versions).
What I did was to remove all mp3 tags in my library with a tool called mp3tag (http://www.mp3tag.de). Afterwards I let itunes recreate the mp3tags. It looks as if the metadata is stored twice: once in the mp3tag and in the database.
anyhow. Itunes recreates the correct mp3tag out of its database if the tag was deleted from the file.
that did the trick -without having to recreate the database.
PS: Steve should send me a free mp3 player, because it took me 2 days to fix this problem.
PPS: Use a script like the following to find all dead track before doing as said before:
[snip]
/* Rename me to FindDeadTracks.js
Double Click in Explorer to run
Script by Otto - http://ottodestruct.com */
var ITTrackKindFile = 1;
var iTunesApp = WScript.CreateObject("iTunes.Application");
var deletedTracks = 0;
var mainLibrary = iTunesApp.LibraryPlaylist;
var tracks = mainLibrary.Tracks;
var numTracks = tracks.Count;
var i;
var fso, tf;
fso = new ActiveXObject("Scripting.FileSystemObject");
tf = fso.CreateTextFile("Dead Tracks.txt", true);
while (numTracks != 0)
var currTrack = tracks.Item(numTracks);
// is this a file track?
if (currTrack.Kind == ITTrackKindFile)
// yes, does it have an empty location?
if (currTrack.Location == "")
// write info about the track to a file
tf.WriteLine(currTrack.Artist + "," + currTrack.Album + "," + currTrack.Name);
deletedTracks++;
numTracks--;
if (deletedTracks > 0)
if (deletedTracks == 1)
WScript.Echo("Found 1 dead track.");
else
WScript.Echo("Found " + deletedTracks + " dead tracks.");
else
WScript.Echo("No dead tracks were found.");
tf.Close();
[snip] -
How to get Length of Editable Field greater than 10 using ALV_GRID_DISPLAY
Hi Experts,
I am Using , REUSE_ALV_GRID_DISPLAY_LVC For Displaying an ALV Report .
Now i'm Using Few fields in Editable mode , but the problem is that , the length of those, editable fields is restricted only to 10 characteras.
But i need a editable field with length of 20 chars , ,for, entering some remarks..Is it possible ?
Can anyone, help how to do that ..?
Thanx in Advance ..
Regards,
Rajeshyou can make use of INTLEN
set the value to 20 and then you can enter to 20 chars.
FIELDCAT-INTLEN = 20.
FIELDCAT-OUTPUTLEN = 20. -
Unable to create greater than filter using query helper
I am trying to create a filter between 2 class
String queryString = "FirstClass.age > SecondBrother.age";
Queryhelper.createFilter(queryString);
Am getting expection " chainedextractor cannot be cast to java.lang.comparable"
Can we not have chained extractor in both argument ??Hi
I'm pretty sure this will not work. In effect what the statement should evaluate to is an instance of a GreaterFilter but there is no GreaterFilter that takes an extractor for both the field to be checked and the value to be compared to. Neither do any of the other built in Filter implementations take two extractors as parameters so you couldn't do something like "FirstClass.age = SecondBrother.age" either. Obviously you could write a custom GreaterFilter that does do what you want but it would not be used by the QueryBuilder or CohQL.
JK -
<?xml version="1.0" standalone="yes"?>
<Student_Details>
<Student Id="1">
<Name>sandeep</Name>
<Age>12</Age>
<Mobile>123456789</Mobile>
</Student>
<Student Id="2">
<Name>ololjk</Name>
<Age>kjlokmo</Age>
<Mobile>njonojniohuj</Mobile>
</Student>
<hello Id="10">
</hello>
<Student Id="3">
<Name>Sandeep Pr</Name>
<Age>12</Age>
<Mobile>9865231870</Mobile>
</Student>
<Student Id="4">
<Name>ololjk</Name>
<Age>kjlokmo</Age>
<Mobile>njonojniohuj</Mobile>
</Student>
all i can fount in internet is which will not display the attributes so pls upload a proper code which also creates an attribute node???
Sandeep PuvvadiEnumerate your XML using
XDocument. For each element
Generate a new TreeNode with whatever text you want to show
Insert the node into your tree
Enumerate all the attributes of the element using the
Attributes() method
Insert a child node of the element node for each attribute with whatever text you want to show
Note that your XML is not valid. You have a <hello> element in the middle of it and the root element is not closed. You'll need to fix that before the XML can be parsed.
Michael Taylor
http://blogs.msmvps.com/p3net
Maybe you are looking for
-
I have a time machine backup file on a USB hard drive. I bought a time capsule / airport extreme, flat 3TB. I wish to transfer the backup file from the usb hard drive to the time capsule hard drive. 10.6.8
-
Hi Experts, Need to load flat file which has month in the columnwise, how to do it. Example Companycode -- customer--- sales plan for jan sales plan for feb- sales plan for march. 1000 101 100
-
BPC NW architecture and sizing
Dear all, According to the master guide of BPC NW , there are 4 tiers in BPC system Client tier NET Web Server and Application Server tier SAP NetWeaver Application Server tier Database tier I got some questions about the NET Web Server and Appli
-
Exception Error from the Quicktime control panel/Update
When I press the Update button under the Update tab, I get the following error: An exception occurred while trying to run "C:\Windows\system32\shell32.dll,Control_RunDD "C:\Program Files\QuickTime\QTSystem\QuickTime.cpl",QuickTime" Quicktime seems to
-
Messages in Test Plan Management
Hi, In STWB_2, am viewing a Test Plan. It contains 10 Test Packages. Each Test package has some Messages assigned to Test cases. When i click on the MESSAGE INDICATOR against a particular Test Package, none of the messages are getting displayed in t