Executing Sql Query Using Shell Script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Executing Sql Query Using Shell Script
# 1  
Old 07-27-2006
Executing Sql Query Using Shell Script

HI ALL
i have a requirement like this. i have to write a shell script to run a sql query. DB is oracle. once the query is run, the results of the query has to be published in a data file. can you please advice me how to go about it. i am absolutely new to shell scripts and this is a part of my job.
# 2  
Old 07-27-2006
This question is answered several times a week; please search the forums.
# 3  
Old 07-27-2006
thanks for the reply, i am new to this group and I will look for the posts
# 4  
Old 07-27-2006
This post may get you started.
# 5  
Old 07-28-2006
try this

DATA=`echo "SET HEADING OFF;\n SET FEED OFF;\n select <whatever query you want here > ;\n exit\n"|sqlplus -s /`

echo $DATA > <whatver file you want>
# 6  
Old 07-28-2006
hi

i tried your query. when i execute that i am getting an error like this "SQL plus cant be found" is there a way not to mention the user name and pwd in the script. thanks
# 7  
Old 07-28-2006
Not exactly as you have asked but that doesn't sound like your problem. Here is one method:

Code:
sqlplus -s /nolog <<EOF > youroutputfile
connect un/pw@db            <== login credentials inside here document
<your sql>;
EOF

If sqlplus can't be found then ${ORACLE_HOME}/bin is not in your path. If that is not in your path then you probably didn't prepare your environment properly by invoking /usr/local/bin/oraenv.

Code:
EXPORT ORACLE_SID=yoursid
EXPORT ORAENV_ASK=N
. /usr/local/bin/oraenv

sqlplus -s /nolog <<EOF > youroutputfile
connect ...
...
EOF

You can also use a named pipe to log in to the database as follows:
Code:
mknod /tmp/loginfile.sql p

print "connect un/pw" > /tmp/loginfile.sql &       <== login credentials in a sql script temporarily
sqlplus -s /nolog <<EOF > youroutputfile
@/tmp/loginfile.sql
...
EOF

You must provide login credentials in order to query the database. Your DBA can configure accounts that allow you to not specify any username or password as you have been given examples for. If your DBA defines accounts using OPS$ prefix, then you can log in as follows:
Code:
sqlplus -s / <<EOF >yourloginfile.sql    <== login credentials tied to your os login
...
EOF

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Help with Executing sql in Shell Script

Hello~ I have a requirement to write a shell script which will connect to the oracle database and run a select count(*) query on a table. The script should succeed only when the count returns a number greater than zero. If the count returns zero, the script should fail. Can someone please... (3 Replies)
Discussion started by: Naren.N
3 Replies

2. Red Hat

Sql query through shell script

hey , i am using this code to store value of a sql query and and then use it in other query but after some time , but it is not working. please help #!/bin/bash val_1=$( sqlplus -s rte/rted2@rel76d2 << EOF setting heading off select max(stat_id) from cvt_stats; exit EOF ) nohup... (5 Replies)
Discussion started by: ramsavi
5 Replies

3. UNIX for Dummies Questions & Answers

Regarding executing sql query in shell script

Hi, I have one SQL file prepared in UNIX and one script that is executing that. In SQL i have Update and create queries. I want to introduce conditions in SQL file (in UNIX) that if either of the create or update query failes whole transaction should be rollback. I just have 1 create... (2 Replies)
Discussion started by: abhii
2 Replies

4. Shell Programming and Scripting

Executing SQL Query and sending a mail

Hi all, My reqirenet goes like this. Need to execute one select statement within the script and send a mail to the users with the number of records fecthed from the query. Please help.. Thanks. (3 Replies)
Discussion started by: Achiever
3 Replies

5. Shell Programming and Scripting

Executing a shell script from a PL / SQL Block

Hi, I need to call a shell script present on solaris server from within a PL / SQL block. Kindly suggest.. Thanks Sudhir (1 Reply)
Discussion started by: sudhird
1 Replies

6. UNIX for Dummies Questions & Answers

executing SQL query using unix shell script

I want to perform few post-session success tasks like update a status to 'true' in one of the sql database table, update date values to current system date in one of the configuration table in sql. How do i achieve this in a post session command?syntax with example will be helpful. (3 Replies)
Discussion started by: nathanvaithi
3 Replies

7. Shell Programming and Scripting

query sql using shell script

query sql using shell script, is it possible? my friend told me to do a file.sql and link to my shell script, but can i query sql using shell script? thanks in advance! (2 Replies)
Discussion started by: kingpeejay
2 Replies

8. Shell Programming and Scripting

Script executing sql query

Hello, I have a sh script excuting a sql query through sqlplus. I am having trouble making my date equal to the date of the server time in the sql script. How can i call the server date from my query? Thanks (2 Replies)
Discussion started by: kingluke
2 Replies

9. Shell Programming and Scripting

executing a SQL query in shell script

Hi ALL, I need an help in connecting to oracle database, executing a select query and printing it on the screen. Can any one please write a simple code or psuedo code and let me know. select query returns multiple values( say select name from emp) Thanks in advance LM (1 Reply)
Discussion started by: lijju.mathew
1 Replies

10. UNIX for Dummies Questions & Answers

Executing a SQL query from a shell script

I cannot figure out how to run a SQL script, or just a sqlplus query, from a shell script (bash or ksh). Basically, I need to su - oracle from root and run a query, then test the exit status. (3 Replies)
Discussion started by: 98_1LE
3 Replies
Login or Register to Ask a Question