Connecting to Oracle DB using sqlplus


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Connecting to Oracle DB using sqlplus
# 22  
Old 05-06-2010
This is the final script which I am using now

Code:
my_sql=$(sqlplus -s /nolog <<EOF
connect gidicm/gidicm@'(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.5.199.106)(PORT=1521))(CONNECT_DATA=(SID=PHYGD1)))'
set pages 0
select sysdate from dual;
EOF)
echo ResultIs = $my_sql

And i am using echo only in the end. I am still getting output as -
Connected. 06-MAY-10

Please advise.
# 23  
Old 05-06-2010
Please make sure of the -s or silent switch in the call to sqlplus...

Otherwise, I'd expect to see something like this:

Code:
-> my_sql=$(sqlplus -s /nolog <<EOF^Jconnect bcurley/bcu001^Jset pages 0 ^Jselect sysdate from dual; ^Jexit^JEOF)
-> echo Result is: $my_sql                                                                                                                                                     
Result is: 06-MAY-10

If not, you might see garbage like, including both "Connected." and the date value:

Code:
-> my_sql=$(sqlplus /nolog <<EOF^Jconnect bcurley/bcu001^Jset pages 0 ^Jselect sysdate from dual; ^Jexit^JEOF)
-> echo Result is: $my_sql                                                                                    
Result is: SQL*Plus: Release 10.2.0.4.0 - Production on Thu May 6 11:27:12 2010 Copyright (c) 1982, 2007, Oracle. All Rights Reserved. SQL> Connected. SQL> SQL> 06-MAY-10 SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production With the Partitioning, Oracle Label Security, OLAP, Data Mining and Real Application Testing options

# 24  
Old 05-06-2010
"Connected." is definitely coming from Oracle. It is coming out on standard output. It seem unaffected by Oracle "set .... off" commands. We can get rid of it with unix "grep -v" .
Another approach is to use an Oracle spool command to output the result of the query to a file, then read the file back.
# 25  
Old 05-06-2010
Better yet, as grep -v might eliminate the line...if it echoes on the same line as the date, try this:

Code:
my_sql=$(sqlplus -s /nolog <<EOF|sed -e "s/Connect. *//g" 
connect scott/tiger
set pages 0 
select sysdate from dual; 
exit
EOF)

# 26  
Old 05-06-2010
Thanks a lot curleb!

This code provided by you worked perfectly fine!

In the meanwhile i also tried another approach to truncate the string returned by sql by using the following:

Code:
${value##*.}

But the code provided by you using SED makes more sense.

Thanks again to all of you for your time and help!

Greatly appreciated.
# 27  
Old 05-06-2010
Quote:
Originally Posted by scottn
Hi shrutihardas,

I remember from a long time ago, that under some situations $(...) did not work with SQL*Plus (so long, that I don't remember which circumstances Smilie)

......
Code:
ksh-on-solaris$ x=$(cat <<E
a'bc'd
E)
ksh-on-solaris$ echo "$x"
a"bc"d


Last edited by binlib; 05-06-2010 at 10:45 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Sqlplus not connecting the 2nd time in for loop

Hi, I am trying to get the rows(First step is to get the poolid's and then second step run a loop to get the output based on each pool id and third connection is to get the member id and pool id based on a different condition) where based of certain conditions and storing it in a file. I wrote the... (6 Replies)
Discussion started by: ajayakunuri
6 Replies

2. Shell Programming and Scripting

Connecting sqlplus from UNIX with multiple select statement

hi, i have a requirement where i need to connect sqlplus from unix and i am able to do so by following command: cust_count=`sqlplus -s $ORACLE_USER/$ORACLE_PASS@$ORACLE_SID << EOF set pagesize 0 set feedback off set verify off ... (1 Reply)
Discussion started by: lovelysethii
1 Replies

3. Shell Programming and Scripting

Connect to Oracle using sqlplus

I have logged into oracle using SQLPLUS. When I type any kind of query, there is only 1 answer - '2'. What is wrong with it? (1 Reply)
Discussion started by: Subhasis
1 Replies

4. Red Hat

TNS Timeout Error when connecting to SQLPLUS through scripts only

Hi, I am facing a strange issue when connecting to SQLPLUS via a shell scripts. I am using Linux 2.6.18-274.18.1 and gbash shell. When I connect to SQLPLUS through scripts then it throws TNS Time Out error ""sometimes"" and connects successfully other times.This is only happening when... (9 Replies)
Discussion started by: aashish.sharma8
9 Replies

5. UNIX for Advanced & Expert Users

Connecting once using sqlplus and doing multiple queries

Hello everyone, It's my first week using unix and shell scripting. I tried creating a script that has a function that execute SQL query. my script looks something like this: ---------------------------------------------------- #!/bin/sh tableName="myTable" secondTable="secondTable"... (2 Replies)
Discussion started by: edlin_r
2 Replies

6. UNIX for Dummies Questions & Answers

Connecting to Oracle DB using sqlplus

Hi, I am very new to shell scripting and trying to write a simple shell script in which i am trying to achieve the following: 1. Connect to oracle database hosted on a different server 2. fire a query on the oracle db 3. store the output in a variable 4. use this variable for further logic... (1 Reply)
Discussion started by: shrutihardas
1 Replies

7. Shell Programming and Scripting

Formatting Oracle sqlplus output

a job extracts orcle data into unix as flat file. a single record breaks into two record in unix flat file. This is the case only for 6 records out of 60 lack records. (its not single record in two line. but its single record into record. ie., \n come into picture) can you tell me what... (6 Replies)
Discussion started by: Gopal_Engg
6 Replies

8. Shell Programming and Scripting

connecting through sqlplus

I am trying to connect to one of the oracle sever using uni through sqlplus command: sqlplus -s BOXI_ALPH_AUDITOR,Q078_audit$@Q047 But its not getting connected. I tried using some different server using same syntax its working. What differene i found is the password is having no special... (2 Replies)
Discussion started by: gander_ss
2 Replies

9. Shell Programming and Scripting

Showing errors when connecting to sqlplus in shell script

hi, I am trying to automate the compilation of procedures stored in .sql files in Unix. Is there any way in which we can sho err if there errors are raised in the compilation? I am using the following code to connect to the sqlplus sqlplus ${SQL_USER}/${SQL_PASSWORD} (5 Replies)
Discussion started by: silas.john
5 Replies

10. UNIX for Dummies Questions & Answers

error connecting to sqlplus

Hi, I wrote a shell script to call oracle procedure. But when i am trying to connet sqlplus with the fallowing statement It is giving me error " callproce.sh : sqlplus: not found". What could be the problem. sqlplus -s $CONNECT_STRING >$LOGFILE <<!! thank u all papachi (2 Replies)
Discussion started by: papachi
2 Replies
Login or Register to Ask a Question