How to read a dynamically changing file and load into Oracle?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to read a dynamically changing file and load into Oracle?
# 8  
Old 05-23-2006
Thank you Thomas...

I didn't understand point 4....

I have invoked SQL LOADER through UNIX like this...Is the way you have suggested?

Code:
$ORACLE_HOME/bin/sqlldr userid=username/password@db control=$SCRIPT_DIR/metadatacontrolfile.ctl log=$SCRIPT_DIR/metadatacontrolfile.log data=$SCRIPT_DIR/file1

PHP Code:
Control File is like this:

LOAD DATA
append
INTO TABLE ACXIOM_METADATA_A
FIELDS TERMINATED BY 
"\t"
TRAILING NULLCOLS
(
 
CLIENT_PRODUCT_CD "SUBSTRB(:CLIENT_PRODUCT_CD , 1, 30)"
,PARTNER_NAME "SUBSTRB(:PARTNER_NAME , 1, 30)"
,NO_CUSTOM_VALUE INTEGER
,CUSTOM_VALUE1_NAME "SUBSTRB(:CUSTOM_VALUE1_NAME , 1, 30)"
,CUSTOM_VALUE1_TYPE "SUBSTRB(:CUSTOM_VALUE1_TYPE , 1, 1)"
,CUSTOM_VALUE1_FORMAT "SUBSTRB(:CUSTOM_VALUE1_FORMAT , 1, 8)"
,CUSTOM_VALUE2_NAME "SUBSTRB(:CUSTOM_VALUE2_NAME , 1, 30)"
,CUSTOM_VALUE2_TYPE "SUBSTRB(:CUSTOM_VALUE2_TYPE , 1, 1)"
,CUSTOM_VALUE2_FORMAT "SUBSTRB(:CUSTOM_VALUE2_FORMAT , 1, 8)"
,CUSTOM_VALUE3_NAME "SUBSTRB(:CUSTOM_VALUE3_NAME , 1, 30)"
,CUSTOM_VALUE3_TYPE "SUBSTRB(:CUSTOM_VALUE3_TYPE , 1, 1)"
,CUSTOM_VALUE3_FORMAT "SUBSTRB(:CUSTOM_VALUE3_FORMAT , 1, 8)"
,CUSTOM_VALUE4_NAME "SUBSTRB(:CUSTOM_VALUE4_NAME , 1, 30)"
,CUSTOM_VALUE4_TYPE "SUBSTRB(:CUSTOM_VALUE4_TYPE , 1, 1)"
,CUSTOM_VALUE4_FORMAT "SUBSTRB(:CUSTOM_VALUE4_FORMAT , 1, 8)"
,CUSTOM_VALUE5_NAME "SUBSTRB(:CUSTOM_VALUE5_NAME , 1, 30)"
,CUSTOM_VALUE5_TYPE "SUBSTRB(:CUSTOM_VALUE5_TYPE , 1, 1)"
,CUSTOM_VALUE5_FORMAT "SUBSTRB(:CUSTOM_VALUE5_FORMAT , 1, 8)"
,CUSTOM_VALUE6_NAME "SUBSTRB(:CUSTOM_VALUE6_NAME , 1, 30)"
,CUSTOM_VALUE6_TYPE "SUBSTRB(:CUSTOM_VALUE6_TYPE , 1, 1)"
,CUSTOM_VALUE6_FORMAT "SUBSTRB(:CUSTOM_VALUE6_FORMAT , 1, 8)"
,CUSTOM_VALUE7_NAME "SUBSTRB(:CUSTOM_VALUE7_NAME , 1, 30)"
,CUSTOM_VALUE7_TYPE "SUBSTRB(:CUSTOM_VALUE7_TYPE , 1, 1)"
,CUSTOM_VALUE7_FORMAT "SUBSTRB(:CUSTOM_VALUE7_FORMAT , 1, 8)"
,CUSTOM_VALUE8_NAME "SUBSTRB(:CUSTOM_VALUE8_NAME , 1, 30)"
,CUSTOM_VALUE8_TYPE "SUBSTRB(:CUSTOM_VALUE8_TYPE , 1, 1)"
,CUSTOM_VALUE8_FORMAT "SUBSTRB(:CUSTOM_VALUE8_FORMAT , 1, 8)"
,CUSTOM_VALUE9_NAME "SUBSTRB(:CUSTOM_VALUE9_NAME , 1, 30)"
,CUSTOM_VALUE9_TYPE "SUBSTRB(:CUSTOM_VALUE9_TYPE , 1, 1)"
,CUSTOM_VALUE9_FORMAT "SUBSTRB(:CUSTOM_VALUE9_FORMAT , 1, 8)"
,CUSTOM_VALUE10_NAME "SUBSTRB(:CUSTOM_VALUE10_NAME , 1, 30)"
,CUSTOM_VALUE10_TYPE "SUBSTRB(:CUSTOM_VALUE10_TYPE , 1, 1)"
,CUSTOM_VALUE10_FORMAT "SUBSTRB(:CUSTOM_VALUE10_FORMAT , 1, 8)"
,CUSTOM_VALUE11_NAME "SUBSTRB(:CUSTOM_VALUE11_NAME , 1, 30)"
,CUSTOM_VALUE11_TYPE "SUBSTRB(:CUSTOM_VALUE11_TYPE , 1, 1)"
,CUSTOM_VALUE11_FORMAT "SUBSTRB(:CUSTOM_VALUE11_FORMAT , 1, 8)"
,CUSTOM_VALUE12_NAME "SUBSTRB(:CUSTOM_VALUE12_NAME , 1, 30)"
,CUSTOM_VALUE12_TYPE "SUBSTRB(:CUSTOM_VALUE12_TYPE , 1, 1)"
,CUSTOM_VALUE12_FORMAT "SUBSTRB(:CUSTOM_VALUE12_FORMAT , 1, 8)"
,CUSTOM_VALUE13_NAME "SUBSTRB(:CUSTOM_VALUE13_NAME , 1, 30)"
,CUSTOM_VALUE13_TYPE "SUBSTRB(:CUSTOM_VALUE13_TYPE , 1, 1)"
,CUSTOM_VALUE13_FORMAT "SUBSTRB(:CUSTOM_VALUE13_FORMAT , 1, 8)"
,CUSTOM_VALUE14_NAME "SUBSTRB(:CUSTOM_VALUE14_NAME , 1, 30)"
,CUSTOM_VALUE14_TYPE "SUBSTRB(:CUSTOM_VALUE14_TYPE , 1, 1)"
,CUSTOM_VALUE14_FORMAT "SUBSTRB(:CUSTOM_VALUE14_FORMAT , 1, 8)"
,CUSTOM_VALUE15_NAME "SUBSTRB(:CUSTOM_VALUE15_NAME , 1, 30)"
,CUSTOM_VALUE15_TYPE "SUBSTRB(:CUSTOM_VALUE15_TYPE , 1, 1)"
,CUSTOM_VALUE15_FORMAT "SUBSTRB(:CUSTOM_VALUE15_FORMAT , 1, 8)"
,CUSTOM_VALUE16_NAME "SUBSTRB(:CUSTOM_VALUE16_NAME , 1, 30)"
,CUSTOM_VALUE16_TYPE "SUBSTRB(:CUSTOM_VALUE16_TYPE , 1, 1)"
,CUSTOM_VALUE16_FORMAT "SUBSTRB(:CUSTOM_VALUE16_FORMAT , 1, 8)"
,CUSTOM_VALUE17_NAME "SUBSTRB(:CUSTOM_VALUE17_NAME , 1, 30)"
,CUSTOM_VALUE17_TYPE "SUBSTRB(:CUSTOM_VALUE17_TYPE , 1, 1)"
,CUSTOM_VALUE17_FORMAT "SUBSTRB(:CUSTOM_VALUE17_FORMAT , 1, 8)"
,CUSTOM_VALUE18_NAME "SUBSTRB(:CUSTOM_VALUE18_NAME , 1, 30)"
,CUSTOM_VALUE18_TYPE "SUBSTRB(:CUSTOM_VALUE18_TYPE , 1, 1)"
,CUSTOM_VALUE18_FORMAT "SUBSTRB(:CUSTOM_VALUE18_FORMAT , 1, 8)"
,CUSTOM_VALUE19_NAME "SUBSTRB(:CUSTOM_VALUE19_NAME , 1, 30)"
,CUSTOM_VALUE19_TYPE "SUBSTRB(:CUSTOM_VALUE19_TYPE , 1, 1)"
,CUSTOM_VALUE19_FORMAT "SUBSTRB(:CUSTOM_VALUE19_FORMAT , 1, 8)"
,CUSTOM_VALUE20_NAME "SUBSTRB(:CUSTOM_VALUE20_NAME , 1, 30)"
,CUSTOM_VALUE20_TYPE "SUBSTRB(:CUSTOM_VALUE20_TYPE , 1, 1)"
,CUSTOM_VALUE20_FORMAT "SUBSTRB(:CUSTOM_VALUE20_FORMAT , 1, 8)"
,CUSTOM_VALUE21_NAME "SUBSTRB(:CUSTOM_VALUE21_NAME , 1, 30)"
,CUSTOM_VALUE21_TYPE "SUBSTRB(:CUSTOM_VALUE21_TYPE , 1, 1)"
,CUSTOM_VALUE21_FORMAT "SUBSTRB(:CUSTOM_VALUE21_FORMAT , 1, 8)"
,CUSTOM_VALUE22_NAME "SUBSTRB(:CUSTOM_VALUE22_NAME , 1, 30)"
,CUSTOM_VALUE22_TYPE "SUBSTRB(:CUSTOM_VALUE22_TYPE , 1, 1)"
,CUSTOM_VALUE22_FORMAT "SUBSTRB(:CUSTOM_VALUE22_FORMAT , 1, 8)"
,CUSTOM_VALUE23_NAME "SUBSTRB(:CUSTOM_VALUE23_NAME , 1, 30)"
,CUSTOM_VALUE23_TYPE "SUBSTRB(:CUSTOM_VALUE23_TYPE , 1, 1)"
,CUSTOM_VALUE23_FORMAT "SUBSTRB(:CUSTOM_VALUE23_FORMAT , 1, 8)"
,CUSTOM_VALUE24_NAME "SUBSTRB(:CUSTOM_VALUE24_NAME , 1, 30)"
,CUSTOM_VALUE24_TYPE "SUBSTRB(:CUSTOM_VALUE24_TYPE , 1, 1)"
,CUSTOM_VALUE24_FORMAT "SUBSTRB(:CUSTOM_VALUE24_FORMAT , 1, 8)"
,CUSTOM_VALUE25_NAME "SUBSTRB(:CUSTOM_VALUE25_NAME , 1, 30)"
,CUSTOM_VALUE25_TYPE "SUBSTRB(:CUSTOM_VALUE25_TYPE , 1, 1)"
,CUSTOM_VALUE25_FORMAT "SUBSTRB(:CUSTOM_VALUE25_FORMAT , 1, 8)"
,RECORD_LOAD_DT "TO_DATE(:lRECORD_LOAD_DT, 'YYYYMMDD')"
,RECORD_LOAD_USER "SUBSTRB(:RECORD_LOAD_USER , 1, 32)"

# 9  
Old 05-24-2006
Looks like a good start. Smilie I wasn't aware that "\t" could be substituted for X'09' field terminators. Also SUBSTRB may or may not be suitable for your environment. Its purpose is to chop a string on a byte boundary rather than a character boundary. This is used sometimes when you have a character column that is specified as VARCHAR2, CHAR, etc of some size that can't contain Unicode characters using several bytes for a single character. It's better to define the table as NVARCHAR2, NCHAR, etc. The column will allow for multiple bytes worth of storage for any single or multiple byte sequences of characters.
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 load XML file to Oracle table

Experts. I have created a oracle table as below. 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 : (7 Replies)
Discussion started by: vasuvv
7 Replies

2. Shell Programming and Scripting

Parameterizing to dynamically generate the extract file from Oracle table using Shell Script

I have below 2 requirements for parameterize the generate the extract file from Oracle table using Shell Script. Could you please help me by modifying the script and show me how to execute it. First Requirement: I have a requirement where I need to parameterize to generate one... (0 Replies)
Discussion started by: hareshvikram
0 Replies

3. 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

4. Shell Programming and Scripting

How to read a dynamically changing file

I want to read a constantly changing file and do some operation on text found in that file. Actually that is log file of linux system and whenever i find a matching string in that file i want to create a text file with timestamp. is it possible to read that file? here is sample output of log... (7 Replies)
Discussion started by: kashif.live
7 Replies

5. UNIX for Dummies Questions & Answers

Read a file dynamically

Hi my requriment is read the file name dynamically my code is #!/bin/sh file="/c/work/loan/" Header_Trailer_move() { sed '1d;$d' $file| cat >sam.txt } Header_Trailer_move in above given path my list of files or there i have to read file dyanamically when i entered particular file name... (2 Replies)
Discussion started by: sgoud
2 Replies

6. Shell Programming and Scripting

Check value of load balance dynamically

Hi All, I want to check load balance(or CPU utilzation) on server dynamically based on that value i want to perform some operation . Means if load balance is <10 then start server . Am using prstat -a 1 commadn it is listing CPU utilzation/load balancing dynamically .. How to take this... (7 Replies)
Discussion started by: vivek1489
7 Replies

7. Shell Programming and Scripting

Can't load external file from unix into Oracle DB

Hi all, I'm traying to run a script on Unix with in it sql +. In this script I want to load a externall file that stand on my unix system into a tmp table of a oracle db, but for some reason it won't work. Find below the script. #!/bin/ksh ORACLE_SID=db1... (7 Replies)
Discussion started by: Tuut-Tuut
7 Replies

8. Shell Programming and Scripting

Load data from a flat file to oracle.

I have a flat file with records like Header 123 James Williams Finance2000 124 Pete Pete HR 1500 125 PatrickHeather Engg 3000 Footer The structure is: Eno:4 characters Name:8 characters Surname : 9 characters Dept:7 characters Sal:4characters These are sample... (1 Reply)
Discussion started by: Shivdatta
1 Replies

9. 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

10. 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
Login or Register to Ask a Question