Script not spooling in result file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Script not spooling in result file
# 8  
Old 12-11-2012
Quote:
Originally Posted by Scott
Can you say in simple terms exactly what you expect to have at the end? There's stuff in the code you've posted that doesn't tie in anywhere (such as the SQL in @do_csv.sql, for example).
Sure.

Step1, extract an ID and put it in the result file.
Step2, read that file and use that record to run the .sql, then delete the result file.
Step3, repeat until while cycle ends.

At the end, you'd have a report_dettaglio_date that contains every result of the .sql run. I didn't post the content of the SQL file because I thought it was not important.
There's probably some easier way to do this, but I'm still practicing. Smilie

---------- Post updated at 10:36 AM ---------- Previous update was at 09:49 AM ----------

I removed the second cycle and left with this, but still no spool. So there was no accident delete of the file.

What bothers me is that I can't even do it in some other way. I really need to spool that output in a file.
Thanks again for helping me out guys, you're the best Smilie

Code:
cat tmp_data.txt | while read line
 do 
 cdc="'$(echo $line|awk -F";" '{print $1}')'" 
emiss="'$(echo $line|awk -F";" '{print $2}')'" 
importo="'$(echo $line|awk -F";" '{print $3}')'" 
cdc_cut=$(echo $cdc | cut -c14-17) 
  sqlplus -s user/pass@SID >> result.txt << EOF 
---myQUERYhere---
; exit; EOF

done

# 9  
Old 12-11-2012
That's a useless use of cat award. You don't need cat's help to read a file, and you don't need to run awk three times per line to extract three fields separated by ;

Why do you need it in the result file if you already have the ID? Wouldn't you rather have sqlplus' output?

Try redirecting the entire loop once instead of 1000 times for 1000 lines:

Code:
#!/bin/ksh

...

while IFS=";" read CDC EMISS IMPORTTO OTHER
do
        cdc_cut="${CDC:13:4}"
        sqlplus <<EOF
...
EOF
done < inputfile > outputfile

You might even be able to do

Code:
while IFS=";" read CDC EMISS IMPORTTO OTHER
do
        cdc_cut="${CDC:13:4}"
        cat <<EOF
...
EOF
done < inputfile | sqlplus > outputfile

to put more than one sql query into one run of sqlplus.
# 10  
Old 12-12-2012
I've been fidgeting around that syntax a bit, and it looks like it's spooling now. I don't know how, I just altered a few things and got rid of the "Stupid use of cat" Smilie but apparently that was enough for him.

Thank you so much!
# 11  
Old 12-14-2012
If you were using your variables outside the while-loop, cat would have prevented them from being set, because the while-loop would be run in a subshell.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Spooling File to My Desktop From Back-end using shell script

Hello all, I am trying to spool a SQL query output file from back-end to desktop in a certain path but it didn't work,the query writes the output in a file in the same directory at the back-end. note : i use the same query in sql developper and file was created in the desired path fine code... (1 Reply)
Discussion started by: bmaksoud
1 Replies

2. UNIX for Beginners Questions & Answers

Script not spooling in the designated file.

Hi, I need to write a script that will run a simple select count(*) query and sends the result of that query to me via email. Here's what I already have. #!/bin/ksh ###################################################################### # File Name : counts.sh # Created : 2019/27/19... (1 Reply)
Discussion started by: clef
1 Replies

3. UNIX for Dummies Questions & Answers

Spooling data from the database in .csv file with boundary

Hi Guys, Another questions to the genius over here. I have spool the dataf from the database into a .csv file. But can it be possible to have all the rows and column with the boundaries..for example the .csv file which i have is as below: 20140327 BU 9A 3 20140327 SPACE 9A 3 20140327... (8 Replies)
Discussion started by: Pramod_009
8 Replies

4. Shell Programming and Scripting

Script to write result to a file

Hello, How can I run this script every 1 hour and save its result to result.txt ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}' Regards Shaan (5 Replies)
Discussion started by: Shaan_Shaan
5 Replies

5. Shell Programming and Scripting

Spooling file to excel

Hi , Im spooling file from oracle to csv using shell script. Below is the code im using.. The o/p is not coming in right format.. Please help me out in this.. O/p is coming as header till batch id ,im not able to see date_stored,type,type1.. Please any one can give me some suggestion ... (1 Reply)
Discussion started by: jkumsi
1 Replies

6. UNIX for Dummies Questions & Answers

Creating a Tar file while files are spooling

Hi I have done a search for this but couldn't find much on it. I am creating a tar file with the command below tar cvf /export/home/user/backup/*Will this is being created I have a job spooling to 5 texts files in the following directory /export/home/user/backup/STATS/ The tar files... (1 Reply)
Discussion started by: sgarvan
1 Replies

7. Shell Programming and Scripting

shell script result to file

Since I'm not an expert in shell scripting, I have question on sending script result to file. I have script like this... if condition=0: then echo "service is not running" | mail -s "Server Status" uname@companyname fi sleep 10 if configtion=1: then echo "service is not running" | mail -s... (3 Replies)
Discussion started by: s_linux
3 Replies

8. UNIX for Dummies Questions & Answers

Option in sql script to include column headers when spooling file to .csv format

Can anyone help me how to include COLUMN HEADER when spooling file to .CSV format through SQL statement. Thanks, Akbar (4 Replies)
Discussion started by: s1a2m3
4 Replies

9. Shell Programming and Scripting

spooling through shell script

Hi, I want to spool the output from a .sql file to a .txt file through shell script. the contents of .sql are: spool /arboru02/scripts/customer_profile_def.txt select profile_id ||','|| account_no from customer_profile_def; spool off exit and shell scrip is like: #!/bin/sh... (9 Replies)
Discussion started by: ss_ss
9 Replies

10. UNIX for Dummies Questions & Answers

Spooling a log file with timestamp

Hi From shell script i am invoking sqlplus to connect to oracle database and then i spool a csv file as with output. What i want to do is to change the file name with timestamp on it so after spooling finish shell script change file name with time stamp. can someone help me to do that . Thanks... (2 Replies)
Discussion started by: ukadmin
2 Replies
Login or Register to Ask a Question