Unable to assign a value


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Unable to assign a value
# 8  
Old 11-03-2013
Is it possible that when get_dbsize_info is called twice in quick succession that the 2nd call doesn't output the same data?

You could try putting sleep 5 between the lines to give db2 a chance to "cleanup" from the previous call.
# 9  
Old 11-03-2013
Quote:
Originally Posted by lazydev
Had no luck with the above syntax so Here's the db2 command output :-

Code:
 
db2 "call get_dbsize_info(?,?,?,-1)"
 
  Value of output parameters
  --------------------------
  Parameter Name  : SNAPSHOTTIMESTAMP
  Parameter Value : 2013-11-03-19.00.50.590366
 
  Parameter Name  : DATABASESIZE
  Parameter Value : 21874778112
 
  Parameter Name  : DATABASECAPACITY
  Parameter Value : 115676934144
 
  Return Status = 0

So, adding line numbers to your output:
Code:
 
1  db2 "call get_dbsize_info(?,?,?,-1)"
2
3    Value of output parameters
4    --------------------------
5    Parameter Name  : SNAPSHOTTIMESTAMP
6    Parameter Value : 2013-11-03-19.00.50.590366
7
8    Parameter Name  : DATABASESIZE
9    Parameter Value : 21874778112
10
11   Parameter Name  : DATABASECAPACITY
12   Parameter Value : 115676934144
13
14   Return Status = 0

So, there is no way to get 21874778112 out of line 8 like you showed in your 1st message in this thread since you show here that it appears on line 9.

Did you just use the wrong line number?

Is the output from your db2 command always in this format, or does it vary depending on something you haven't shown us?

Would looking for the last string on the line after the line ends with "DATABASESIZE" be more reliable?
# 10  
Old 11-03-2013
I don't think the db2 line is part of the output, but I agree with matching on the DATABASESIZE string for a more robust solution.

Perhaps:

Code:
db2 "call get_dbsize_info(?,?,?,-1)" | awk -F": " '/DATABASESIZE/ {print $3}' RS=
sleep 5
dbsize=`db2 "call get_dbsize_info(?,?,?,-1)" | awk -F": " '/DATABASESIZE/ {print $3}' RS=`
echo $dbsize


Last edited by Chubler_XL; 11-03-2013 at 09:14 PM..
# 11  
Old 11-04-2013
After checking found that combining database commands with unix commands it's not working .

Code:
db2 "call get_dbsize_info(?,?,?,-1)" | awk -F": " '/DATABASESIZE/ {print $3}' RS=
db2 "call get_dbsize_info(?,?,?,-1)" | sed -n 8p
dbinfo=`db2 "call get_dbsize_info(?,?,?,-1)  `
echo $dbinfo
dbsize=`db2 "call get_dbsize_info(?,?,?,-1)" | sed -n 1p`
echo $dbsize

Output :-

Code:
 
+ awk -F:  /DATABASESIZE/ {print $3} RS=
+ db2 call get_dbsize_info(?,?,?,-1)
21920915456
+ db2 call get_dbsize_info(?,?,?,-1)
+ sed -n 8p
  Parameter Value : 21920915456
+ + db2 call get_dbsize_info(?,?,?,-1)
dbinfo=
  Value of output parameters
  --------------------------
  Parameter Name  : SNAPSHOTTIMESTAMP
  Parameter Value : 2013-11-04-14.10.19.348220
  Parameter Name  : DATABASESIZE
  Parameter Value : 21920915456
  Parameter Name  : DATABASECAPACITY
  Parameter Value : 115676815360
  Return Status = 0
+ echo Value of output parameters -------------------------- Parameter Name : SNAPSHOTTIMESTAMP Parameter Value : 2013-11-04-14.10.19.348220 Parameter Name : DATABASESIZE Parameter Value : 21920915456 Parameter Name : DATABASECAPACITY Parameter Value : 115676815360 Return Status = 0
Value of output parameters -------------------------- Parameter Name : SNAPSHOTTIMESTAMP Parameter Value : 2013-11-04-14.10.19.348220 Parameter Name : DATABASESIZE Parameter Value : 21920915456 Parameter Name : DATABASECAPACITY Parameter Value : 115676815360 Return Status = 0
+ + db2 call get_dbsize_info(?,?,?,-1)
+ sed -n 1p
dbsize=SQL1024N  A database connection does not exist.  SQLSTATE=08003
+ echo SQL1024N A database connection does not exist. SQLSTATE=08003
SQL1024N A database connection does not exist. SQLSTATE=08003


Is there an alternate way for it ?
# 12  
Old 11-04-2013
Code:
dbsize=`echo "$dbinfo" | sed -n 8p`

As Don already said, without quotes the echo will strip all the whitespace - so you just need to quote it.

EDIT: Also, while I have no experience of DB2, if the missing double-quote on
Code:
dbinfo=`db2 "call get_dbsize_info(?,?,?,-1)  `

isn't just a paste typo or giving you a syntax error, is it leaving the DB2 call open?

Last edited by CarloM; 11-04-2013 at 05:06 PM.. Reason: less dribbling...
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Check assign

I have a person script which has a following statement. BUILD_FOLDER=$2 i=$((${#BUILD_FOLDER}-1)) if then BUILD_FOLDER=$BUILD_FOLDER/ #echo $BUILD_FOLDER else echo " " #echo $BUILD_FOLDER fi What and how this statement works ? i=$((${#BUILD_FOLDER}-1)) (5 Replies)
Discussion started by: ilugopal
5 Replies

2. Shell Programming and Scripting

Unable to read assign values to two variables in while loop

I am trying to read a input file which has two columns separated by space Input file server1 server2 server3 server4 server5 server6 When i execute the below while code it reads line by line and a and b variables are able to successfully fetch the values while read a b do echo "$a" echo... (5 Replies)
Discussion started by: chidori
5 Replies

3. Programming

Unable to assign zero to unsigned character array

Hi, I am unable to assign value zero to my variable which is defined as unsigned char. typedef struct ABCD { unsigned char abc; unsigned char def; unsigned char ghi; } ABCD; typedef ABCD *PABCD; In my Por*C code, i assign the values using memcpy like below ... (3 Replies)
Discussion started by: gthangav
3 Replies

4. Shell Programming and Scripting

Unable to assign command output to variable

Code set -x STATUS="0" echo $STATUS for i in `ls -ltr Report*|awk '{ print $9 }'` do if then flg = "`head -1 "$i" |cut -c 31-33`" echo `head -1 "$i" |cut -c 31-33` echo $flg if then echo "having Fun" STATUS="2" else echo "no Fun" fi fi (2 Replies)
Discussion started by: Funkeydude
2 Replies

5. Shell Programming and Scripting

how to assign value

#! /bin/bash if ; then echo "Set number " else k=$1 sqlplus ${scheme}/${apsswd}@${server} @query.sql $k fi file query.sql looks like this select * from tab1 where number =${k}; =================================== it doesnt work my question is how to assign k value in last... (2 Replies)
Discussion started by: kvok
2 Replies

6. Shell Programming and Scripting

Assign the value

DATA --------------- 0 Please tell me, if the file contains 0 after --. then assign the value to variable $var=false, DATA --------------- 1 then $var=true, (2 Replies)
Discussion started by: sandy1028
2 Replies

7. Shell Programming and Scripting

Not able to assign a value to variable

Hi Experts, I am facing some problem while developing the script.My input config.csv file contains the three columns namely pathname,filename,filetype.Based on the file type i have to use ftp command that is if filetype=csv then do ftp. The input file is cat config.csv... (13 Replies)
Discussion started by: Amey Joshi
13 Replies

8. Shell Programming and Scripting

Using bc to assign value

Friends here is code which is used to add floating point using bc, but I m not getting any output instead some errors. 1 #!/bin/bash 4 if 5 then 6 echo "Our input is from a Device" 7 while read myline 8 do 9 10 total= `echo $total + $myline... (2 Replies)
Discussion started by: navjinder
2 Replies

9. Shell Programming and Scripting

How to assign the specific value

Hi Everyone, How to assign the specific value which return from database? here is the return value from database --> (return status = 0) 0 <----- this I only need to get the "0" .. assign to another declare variable. hope someone will help me.. Please thank you.. (4 Replies)
Discussion started by: ryanW
4 Replies

10. Shell Programming and Scripting

Unable to assign value to variable using awk coz of whitespace in value

Unix gurus, I have a file as below, which is basically the result set obtained from a sql query on an Oracle database. ID PROG_NAME USER_PROG_NAME -------- --------------- ---------------------------------------- 33045 INCOIN Import Items 42690 ... (3 Replies)
Discussion started by: sunpraveen
3 Replies
Login or Register to Ask a Question