Script to load XML file to Oracle table


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Script to load XML file to Oracle table
# 1  
Old 09-11-2018
Script to load XML file to Oracle table

Experts.

I have created a oracle table as below.

Code:
create table xml_tab  
(  
File_No  number ,  
File_content Varchar2(2000),  
file_type xmltype  
);

Daily we are receiving many XML files as below.

here is our sample xml file.

File1 :
Code:
<?xml version="1.0" encoding="UTF-8"?>  
 -<ContentMap>  
 <Object uri="x-wc://e29f9e65f5ad7794:wt.part.WHO:PROG1" metaFilePath="WHO:PROG1.xml.meta" contentPath="WHO:PROG1.xml"/>  
</ContentMap>

File2 :
Code:
<?xml version="1.0" encoding="UTF-8"?>  
 <OptionsDefinition version="2.0"> </OptionsDefinition>

Required output is
Code:
File_No       File_Type            File_Content  
===================================  
File1                    xml                  <?xml version="1.0" encoding="UTF-8"?>  
                                                -<ContentMap>  
                                                <Object uri="x-wc://e29f9e65f5ad7794:wt.part.WHO:PROG1" metaFilePath="WHO:PROG1.xml.meta" contentPath="WHO:PROG1.xml"/>  
                                                    </ContentMap>  
                                                      
FILE2                  xml                  <?xml version="1.0" encoding="UTF-8"?>  
                                               <OptionsDefinition version="2.0"> </OptionsDefinition>

Please suggest shell script to resove this.

Last edited by Scott; 09-11-2018 at 05:13 AM.. Reason: Please use code tags properly, not just randomly placed variations of <code>, [ICODE] and [HTML]
# 2  
Old 09-11-2018
Hi,
the SQL*Loader-tool is designed to do that, no script needed. You do not say what database version you use, so I'll point you to the 10g documentation for loading XML-files into tables:
29 Loading XML Data Using SQL*Loader
# 3  
Old 09-11-2018
appreciate your quick response. I have around 10000 xml files with different contents/tags/column values. Please advise a script to automate /direct load data into Oracle tables.


Here in the above have posted only 2 record values for providing you some information. Please advise the script/oracle procedure.


Thanks,
# 4  
Old 09-13-2018
Experts,


please advise. As we don't have any directory in Oracle we need to create a directory in Unix and need to load XML files to oracle table using Shell script.


Please suggest.


Thanks
# 5  
Old 09-13-2018
What's wrong with cero's fine suggestion?
# 6  
Old 09-13-2018
We have no access to create Directory. So we can't use SQL Loader in Oracle side.


As the FILE3 is very big we are getting error as below


at <?xml version="1.0" encoding="UTF-8"?>



SQL Error: ORA-01704: string literal too long
01704. 00000 - "string literal too long"
*Cause: The string literal is longer than 4000 characters.
*Action: Use a string literal of at most 4000 characters.
Longer values may only be entered using bind variables.
# 7  
Old 09-14-2018
You do not need to be on Oracle side to use sqlloader.

It's a client program, you have local (any) directory with data and oracle client installed (which contains sqlloader).

Then using credentials you upload the data to database thru network as you would use toad or sqlplus.

Have you looked up the ORA-01704 error and advice for it ?

Regards
Peasant.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script to create the SQLLDR control file from Oracle table.

I need to create the shell script load the few 100 table using the SQLLDR. Need to generate the control file for each table using oracle table. table has "table names" and "column names" using this need create the control file. example table rows below table_nme column_nme DEPT ... (2 Replies)
Discussion started by: pimmit22043
2 Replies

2. Shell Programming and Scripting

Script to load daily average I/O stats from a .ksh file into Oracle db

Hi can anyone help me with a script to load output of the .ksh file into an Oracle database. I have attached sample output of the information that i need to load to the database (2 Replies)
Discussion started by: LucyYani
2 Replies

3. Shell Programming and Scripting

load a data from text file into a oracle table

Hi all, I have a data like, 0,R001,2,D this wants to be loaded into a oracle database table. Pl let me know how this has to be done. Thanks in advance (2 Replies)
Discussion started by: raji35
2 Replies

4. Shell Programming and Scripting

To load data from variable to oracle table ....???

Hi all, How to load variable value into Oracle table? I have created a file validation shell script. After the validation completes, i need to update a Oracle table with the variable value... Can someone help me how to do it? I have searched, but not able to get answer. i have 4 variables... (2 Replies)
Discussion started by: Amit.Sagpariya
2 Replies

5. Shell Programming and Scripting

To load data from variable to oracle table

Hi all, How to load variable value into Oracle table? I have created a file validation shell script. After the validation completes, i need to update a Oracle table with the variable value... Can someone help me how to do it? I have searched, but not able to get answer. i have 4... (1 Reply)
Discussion started by: Amit.Sagpariya
1 Replies

6. Shell Programming and Scripting

shell script to read data from text file and to load it into a table in TOAD

Hi....can you guys help me out in this script?? Below is a portion text file and it contains these: GEF001 000093625 MKL002510 000001 000000 000000 000000 000000 000000 000001 GEF001 000093625 MKL003604 000001 000000 000000 000000 000000 000000 000001 GEF001 000093625 MKL005675 000001... (1 Reply)
Discussion started by: pallavishetty
1 Replies

7. UNIX for Advanced & Expert Users

unix script for update or insert records from a file to a oracle table

Hi, I have delimited file(|). Sample data: 1|name|50009|DS24|0|12 2|name|30009|DS24|0|13 3|name|20409|DS24|0|14 4|name|20009|DS24|0|15 5|name|10009|DS24|0|16 I want to load this data into a oracle table (update and insert) Please help me the commands and also... (1 Reply)
Discussion started by: unihp1
1 Replies

8. Programming

How can i load or insert a table in oracle from c language thru unix environment

I'm having a oracle server and i'm having a table in that. I'm having a linux server which is in network with the oracle server. I need to write a c program in linux env when on execution loads the table with the text file given as input. Please explain me the flow of process in that and also... (6 Replies)
Discussion started by: rramprasad
6 Replies

9. UNIX for Advanced & Expert Users

How to load comma seperated values file (*.csv) into Oracle table

Hi all I need to input values in a .csv file into my Oracle table running in Unix, I wonder what would be the command to do so... The values are recorded in an excel file and I tried using a formatted text file to do so but failed because one of the field is simply too large to fit in the... (4 Replies)
Discussion started by: handynas
4 Replies

10. UNIX for Dummies Questions & Answers

How to load comma seperated values file (*.csv) into Oracle table

Hi all I need to input values in a .csv file into my Oracle table running in Unix, I wonder what would be the command to do so... The values are recorded in an excel file and I tried using a formatted text file to do so but failed because one of the field is simply too large to fit in the... (5 Replies)
Discussion started by: handynas
5 Replies
Login or Register to Ask a Question