Read line of files and call store procedures


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Read line of files and call store procedures
# 1  
Old 08-31-2013
Read line of files and call store procedures

Hi,

I wish to write a piece of code to read lines of the flat file and cut each lines of record to a variable, then use this variable to pass as an parameter of a Sybase stored procedures, if there are 5 lines of record from the text file, then this stored procedures will be called 5 times. Here are my code:
Code:
InFile=test.txt
for line in $InFile
do
COM_NUM=`cut -c138-140 $line`
PLAN=`cut -c141-142 $line`
EMPID=`cut -c65-73 $line`
AMT1=`cut -c148-157 $line`
AMT2=`cut -c158-162 $line`
Comp_code="ABC"
Server="TEST"
Database="SERVER1"
if [[ -f $Log_Temp ]]
then
echo "Error: Could not remove file $Log_Temp"
exit 1
fi
ksql -S $Server << -EOF >> $Log_Temp
use $Database
go
exec PROD1 '$COM_NUM', '$PLAN', 'EMPID', $AMT1, $AMT2
go
EOF
ReturnStatus=$?
if [[ $ReturnStatus != "0" ]]
then
echo "Error: ksql failure in inserting." >> $Log
exit 1
fi
 
done

However, I keep on hit the error as below:
Code:
syntax error at line 56 : `<' unmatched

I cannot have the procedures call within the for loop?

Please advise.
Thanks in advanced

Last edited by Scott; 08-31-2013 at 03:02 AM.. Reason: Code tags, please...
# 2  
Old 08-31-2013
Try it by changing this line:
Code:
ksql -S $Server << -EOF >> $Log_Temp

to this:
Code:
ksql -S $Server <<EOF >> $Log_Temp

# 3  
Old 08-31-2013
same errors happen.
# 4  
Old 08-31-2013
Replace << -EOF by <<-EOF i.e. remove the space character!
# 5  
Old 08-31-2013
same errors happen also...
# 6  
Old 08-31-2013
Quote:
Originally Posted by newbie2011
Hi,

I wish to write a piece of code to read lines of the flat file and cut each lines of record to a variable, then use this variable to pass as an parameter of a Sybase stored procedures, if there are 5 lines of record from the text file, then this stored procedures will be called 5 times. Here are my code:
Code:
... 30 lines of code deleted for brevity ...

However, I keep on hit the error as below:
Code:
syntax error at line 56 : `<' unmatched

I cannot have the procedures call within the for loop?

Please advise.
Thanks in advanced
Showing us that you have a syntax error on line 56 of a 30 line shell script tells us that you are not showing us the script that generated the diagnostic message you reported. Could this diagnostic be coming from PROD1?

You use $Log and $Log_Temp, but neither of these variables are set in this script.
# 7  
Old 08-31-2013
Hi,

Hereby I attach the full page of script:
Code:
#!/bin/ksh
. /production/kltools/profiles/profile.cron
ClientDir=/home/abc/
ClientSrcDir=$ClientDir/test
ClientLogDir=$ClientDir/log
ClientTgtDir=$ClientDir/data
ClientScriptDir=$ClientDir/script
Log=$ClientLogDir/load.log
InFile=$ClientTgtDir/test.txt
Log_Temp=$ClientLogDir/load_data.log
rm -f $Log $OutFile
if [[ -f $Log ]]
then
echo "Error: Could not remove log file $Log"
exit 1
fi
 
if [[ -f $OutFile ]]
then
echo "Error: Could not remove $OutFile" >> $Log
exit 1
fi
 
# replace
i=0
 
for line in $InFile
do
COM_NUM=`cut -c138-140 $line`
PLAN=`cut -c141-142 $line`
EMPID=`cut -c65-73 $line`
AMT1=`cut -c148-157 $line`
AMT2=`cut -c158-162 $line`
Comp_code="ABC"
Server="TEST"
Database="SERVER1"
if [[ -f $Log_Temp ]]
then
echo "Error: Could not remove file $Log_Temp"
exit 1
fi
ksql -S $Server <<-EOF >> $Log_Temp
use $Database
go
exec PROD1 '$COM_NUM', '$PLAN', 'EMPID', $AMT1, $AMT2
go
EOF
ReturnStatus=$?
if [[ $ReturnStatus != "0" ]]
then
echo "Error: ksql failure in inserting." >> $Log
exit 1
fi
 
done


Last edited by Franklin52; 09-02-2013 at 03:19 AM.. Reason: Please use code tags
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Read files into variable using then pass to delete call

I am trying read all the files from list into a variable line using bash. After there are read into the variable they are passed to a delete call. The files appear to be read line (as I can see them with the echo) by line into the variable, but the delete call is not removing them and I do not... (1 Reply)
Discussion started by: cmccabe
1 Replies

2. Shell Programming and Scripting

How to read a two files, line by line in UNIX script and how to assign shell variable to awk ..?

Input are file and file1 file contains store.bal product.bal category.bal admin.bal file1 contains flip.store.bal ::FFFF:BADC:CD28,::FFFF:558E:11C5,6,8,2,1,::FFFF:81C8:CA8B,::FFFF:BADC:CD28,1,0,0,0,::FFFF:81C8:11C5,2,1,0,0,::FFFF:81DC:3111,1,0,1,0 store.bal.... (2 Replies)
Discussion started by: veeruasu
2 Replies

3. Shell Programming and Scripting

Read line by line and store a word in array

Hi, I would like to read a file line by line and then store the whole line word by word in array so that I can do specific manipulation on each word. $ cat test.txt hello how are you i am good I would like to have an array created dynamically so that first time , the... (4 Replies)
Discussion started by: ashwin3086
4 Replies

4. Shell Programming and Scripting

Read each line and saving the line in separate files

Hi Experts, I am having a requirement like this; Input file EIM_ACCT.ifb|1001|1005 EIM_ADDR.ifb|1002|1004 EIM_ABD.ifb|1009|1007 I want to read each line of this file and pass each line,one at a time,as an argument to another script. eg; 1.read first line->store it to a file->call... (2 Replies)
Discussion started by: ashishpanchal85
2 Replies

5. Shell Programming and Scripting

how to read the contents of two files line by line and compare the line by line?

Hi All, I'm trying to figure out which are the trusted-ips and which are not using a script file.. I have a file named 'ip-list.txt' which contains some ip addresses and another file named 'trusted-ip-list.txt' which also contains some ip addresses. I want to read a line from... (4 Replies)
Discussion started by: mjavalkar
4 Replies

6. Shell Programming and Scripting

How to read a file line by line and store it in a variable to execute a program ?

Hello, I am quite new in shell scripting and I would like to write a little scritp to run a program on some parameters files. all my parameters files are in the same directory, so pick them up with ls *.para >>dirafter that I have a dir file like that: param1.para param2.para etc... I... (2 Replies)
Discussion started by: shadok
2 Replies

7. Shell Programming and Scripting

to read two files, search for patterns and store the output in third file

hello i have two files temp.txt and temp_unique.text the second file consists the unique fields from the temp.txt file the strings stored are in the following form 4,4 17,12 15,65 4,4 14,41 15,65 65,89 1254,1298i'm able to run the following script to get the total count of a... (3 Replies)
Discussion started by: vaibhavkorde
3 Replies

8. UNIX and Linux Applications

read files from folder and then call another script

Hi, I am new to the Unix shell scripting world. It would be great if some body can help me with my requirement 1) Script (say script1.sh) which will take set of files from one folder (say input folder). 2) Take the first file from the folder and execute another script (script2.sh).Pass 2... (1 Reply)
Discussion started by: girishnn
1 Replies

9. Shell Programming and Scripting

read files from folder and then call another script

Hi, I am new to the Unix shell scripting world. It would be great if some body can help me with my requirement 1) Script (say script1.sh) which will take set of files from one folder (say input folder). 2) Take the first file from the folder and execute another script (script2.sh).Pass 2... (3 Replies)
Discussion started by: girishnn
3 Replies

10. UNIX for Dummies Questions & Answers

Read and store each line of a file to a variable

Hi all, I'm quite new to unix and hope that someone can help me on this. I'm using csh. Below is what i intend to do. 1. I stored some data in a file. 2. I intend to read the file line by line and store each line of data into a variable, so that i can used it later. Anyone have any... (4 Replies)
Discussion started by: seijihiko
4 Replies
Login or Register to Ask a Question