Capturing Sybase SP output in Shell Script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Capturing Sybase SP output in Shell Script
# 1  
Old 08-17-2009
Capturing Sybase SP output in Shell Script

Greetings,

I need to capture the output of a Sybase stored procedure, inside my
shell script( k shell). Based on this output, I need to call another
perl script, with input arguments as the result set of the procedure
execution. I need to keep looping through and call the perl script,
till the end of the Sybase stored procedure result set.

I am not sure, how do I capture the result set of the procedure and
use it while calling the perl file. Could someone please help.
A sample script/code snippet would help a lot.


TIA.
# 2  
Old 08-17-2009
When I've needed to do something like this I've usually dome something like:

Code:
#get DB user password
stty -echo
trap "stty echo ; echo 'Interrupted' ; exit 1" 1 2 3 15
/usr/bin/echo "Enter password for userfoo account on barbar DB: "
read password
stty echo

#grab output and dump to temp file
isql -S Blah -U foo -P${password} -w 200 <<EOF > /tmp/tmp.$$ 2>&1
random sql query
and so on..
go
EOF

#check for errors/valid output and parse nicely or give error.
grep affected /tmp/tmp.$$ > /dev/null
if [ $? -eq 0 ]
then 
  Do whatever I'm going to do with my output
else
  cat /tmp/tmp.$$
fi

rm /tmp/tmp.$$

HTH
# 3  
Old 08-19-2009
re:Capturing Sybase SP output in Shell Script

I tried this one out, but somehow still getting stuck. Probably, I should explain my problem once again in detail-

I have a shell script (ksh), which needs to run sybase quieries. Based on the o/p,
I need to call another perl program. I am not sure, how do I capture the output of the
sybase query, as it would be split into number of rows(not fixed, based on WHERE clause)
I was just working on a sample script. It looks like-

#!/bin/ksh
. /usr/local/ccms/pgl/cfg/pgl.env
echo ${SERVER} ${USER}
VAR=`isql -S${SERVER} -U${USER} -P${PASSWD} <<ENDOFTEXT
set nocount on
set rowcount 5
select UserId as 'Id' from tempdb..test_user
go
quit
ENDOFTEXT `
echo $VAR
#echo "values "
#echo $VAR | awk -F" " '{print $2}'
#col_look="this is test"
#I tried this one too...
IFS=' '
set -A bar $VAR
echo ${#VAR[@]}
echo ${bar[0]}
echo ${bar[1]}
echo ${bar[2]}
echo ${bar[3]}
echo "I am finished "
For example, the query returns,
id
---
1
2
3
4
5

I tried redirecting it to a temp file also, but no luck. May b I am doing smthg wrong,...
I need to use each of these values i.e. 1,2,3 etc as an input parameter to another program.
Hence, need to capture them into variables.
As no. of rows(hence these variables) is not fixed, also,
the o./p is in different rows, I am finding it difficult to capture them.
Appreciate your help.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help capturing output of expect script

match_max 500000 set timeout 30 set outcome1 {} set outcome2 {} set inputfile C:\\Users\\Administrator\\Desktop\\inputfile.txt send -i $con "\r"; expect -i $con "Desktop>" { exp_send "type $inputfile \r" } set timeout 30 expect { "Desktop>" { set outcome $expect_out(0,string);}... (3 Replies)
Discussion started by: cityprince143
3 Replies

2. Shell Programming and Scripting

Capturing script output and input to log

Hi Is there a way that I can capture a shell script (both output and input) to a log file where I can analyze it? Thanks (6 Replies)
Discussion started by: nimo
6 Replies

3. Shell Programming and Scripting

Capturing output of procedure in variable in shell script

Hi guys I am calling one DB2 stored proc through unix. It is giving me below output. I want to capture the value 150 in one UNIX variable in shell script. Please let me know how I can achieve this. Thanks in advance Value of output parameters -------------------------- Parameter Name :... (5 Replies)
Discussion started by: vnimavat
5 Replies

4. Shell Programming and Scripting

Execute stored procedure through script in sybase database and store the output in a .csv file

Hi, I have a sybase stored procedure which takes two input parameters (start_date and end_date) and when it get executed, it gives few records as an output. I want to write a unix script (ksh) which login to the sybase database, then execute this stored procedure (takes the input parameter as... (8 Replies)
Discussion started by: amit.mathur08
8 Replies

5. Shell Programming and Scripting

Problem capturing output in TCL script

I have a TCL script that logs into a switch using expect.I send a command "show port-security address" and it returns a table having a large number of rows.I need to capture this output(the table) and store it in a .txt file. I have done this: match_max 5000 set expect_out(buffer) {} set... (0 Replies)
Discussion started by: plasmalightwave
0 Replies

6. UNIX for Dummies Questions & Answers

sybase connection through shell-script

:mad: how do i connect to sybase through shell script written in linux (9 Replies)
Discussion started by: Amitabh
9 Replies

7. Shell Programming and Scripting

Connecting to sybase via shell script.

Hi All, I was able to connect to sybase in shell script and also able to run few sql queries, something like this, #!/usr/bin/ksh -x temp=`echo "select name from sysobjects where type = 'U'"` results=`isql -SDS_SERVER-UAdhocUser -Pha12 <<EOF set rowcount 6 $temp go EOF` line_count=0... (1 Reply)
Discussion started by: arvindcgi
1 Replies

8. Shell Programming and Scripting

capturing line from script output and appending to a file

Hi all, I did some searching in this forum but can't find anything that matches the issue I'm bumping heads with. On a CentOS4/Postfix (and bash everywhere) mail gateway box I run a command periodically to purge the Postfix queue of messages "From:MAILER-DAEMON". This is the one line'r... (6 Replies)
Discussion started by: wally_welder
6 Replies

9. Shell Programming and Scripting

Capturing shell script command output

I am trying to check to see if a file exists on a ftp server, well, I know that cant be done, atleast directly, So I came up with this small script ftp -n $HOST <<END_SCRIPT quote USER $USER quote PASS $PASSWD cd public_html/crap dir $FILE quit END_SCRIPT Where the $ variable... (2 Replies)
Discussion started by: designflaw
2 Replies

10. Shell Programming and Scripting

capturing output in script

I have the following line in my script: $sftpcmd $rmthost <<COMMANDS>> $sftplog 2>&1 For some reason this is not capturing the errors from sftp, they go to the file attached to the cron entry ie mm hh dd MM * /myscript > cron.out any idea why? digital unix 4.0d (6 Replies)
Discussion started by: MizzGail
6 Replies
Login or Register to Ask a Question