Sponsored Content
Top Forums Shell Programming and Scripting Can't get shell parameters to pass properly to sqlplus Post 302531006 by WhoDatWhoDer on Wednesday 15th of June 2011 03:46:51 PM
Old 06-15-2011
Data Can't get shell parameters to pass properly to sqlplus

Gurus,

The issue I'm having is that my Shell won't accept SQL parameters properly......

Here's they way I'm running it....

Code:
applmgr@ga006hds [/home/users/applmgr/CW_Merge_Project]
=>  sh CW_MigrationDeployScript.sh apps <appspwd> <SID> '01-JAN' '31-MAR'

The process just hangs not submitting the SQL job...



Code:
#!/bin/ksh
export USAGE="USAGE: `basename $0` -e <DBUSER> <DBPASSWD> <TNSNAME> <FROM_DATE> <TO_DATE>"
if [ $# -lt 3 ]; then
echo ${USAGE}
exit 1;
fi
SCRIPTHOME=`pwd`
TMS_USER=$1
TMS_PWD=$2
TMS_DATABASE=$3
LL="${TMS_USER}/${TMS_PWD}@${TMS_DATABASE}"
FROM_DT=$4
TO_DT=$5
PARAMS="${FROM_DT} ${TO_DT}"
dow()                                                                   
{       
perl -e '
use POSIX qw(strftime);
@time=gmtime(time -(4*3600)); #=> GMT -4
$day = strftime("%A",0,0,0,$time[3],$time[4],$time[5],-1,-1,-1);
print "$day\n"'                                                            
}         
echo "$(dow `date "+%Y-%m-%d"` )"
if [[ "$(dow `date "+%Y-%m-%d"` )" = "Monday" ]]; then
YEAR="'2005'"
elif [[ "$(dow `date "+%Y-%m-%d"` )" = "Tuesday" ]]; then
YEAR="'2006'"
elif [[ "$(dow `date "+%Y-%m-%d"` )" = "Wednesday" ]]; then
YEAR="'2007'"
elif [[ "$(dow `date "+%Y-%m-%d"` )" = "Thursday" ]]; then
YEAR="'2008'"
elif [[ "$(dow `date "+%Y-%m-%d"` )" = "Friday" ]]; then
YEAR="'2009'"
elif [[ "$(dow `date "+%Y-%m-%d"` )" = "Saturday" ]]; then
YEAR="'2010'"
fi 
cd ${SCRIPTHOME}
sqlplus -s ${LL} @./RCV_SHIPMENT_HDR_LINE_PRE_OUTAGE.sql ${YEAR} ${PARAMS} > rcv_ship_hdr_line.log
echo ""
echo ""
echo ""
echo "Deployments Complete"


When I call the *.sql script manually, from Sql prompt from server, I get the expected results.


Code:
SQL> @RCV_SHIPMENT_HDR_LINE_PRE_OUTAGE.sql
Input truncated to 1 characters
Enter value for year: '2005'
old   2:   l_year varchar2(4):=&YEAR;
new   2:   l_year varchar2(4):='2005';
Enter value for start_day_month: '01-APR'
old   3:   l_start_day_month varchar2(10):=&START_DAY_MONTH;
new   3:   l_start_day_month varchar2(10):='01-APR';
Enter value for end_day_month: '30-JUN'
old   4:   l_end_day_month varchar2(10):=&END_DAY_MONTH;
new   4:   l_end_day_month varchar2(10):='30-JUN';
Updating RCV_SHIPMENT_HDR_LINE
PL/SQL procedure successfully completed.
SQL>

Anyone have any advice on how I can get the Shell to run the *.sql properly?
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

passing parameters from a shell script to sqlplus

Hi , I want to pass parameters from a shell script to a sql script and use the parameter in the sql query ..and then I want to spool a particular select query on to my unix box... for 4 different locations by writing only one sql script Right now no file is generated on the unix box...it is a... (2 Replies)
Discussion started by: phani
2 Replies

2. Shell Programming and Scripting

How to pass Shell variables to sqlplus use them as parameters

Hi, I am trying to pass some of the variables in my shell scripts to the sqlplus call and use them as parameters. For example, I would like to replace the 'SAS', and '20050612' with $var1 and $var2, respectively, how can I do that? --------------------------------------------------------... (1 Reply)
Discussion started by: Jtrinh
1 Replies

3. UNIX for Dummies Questions & Answers

How to pass two or more parameters to the main in shell script

Hey Guys from the below script what I understood is we are sending the the first parameter as input to the main (){} file main > $LOGFILE 2>&1 but can we send two or three parameter as input to this main file as main > $LOGFILE 2>&1 2>&2 like this Can any one plz help I need to writ a... (0 Replies)
Discussion started by: pinky
0 Replies

4. Shell Programming and Scripting

help me in sending parameters from sqlplus script to unix shell script

Can anybody help me out in sending parameters from sql*plus script to unix shell script without using flat files.. Initially in a shell script i will call sql*plus and after getting some value from some tables, i want that variable value in unix shell script. How can i do this? Please tell me... (2 Replies)
Discussion started by: Hara
2 Replies

5. Shell Programming and Scripting

To pass the .sql file as a paramter to sqlplus through shell programming

Hi, Currently i have a .sql file 1.sql. I need to pass that as a parameter through a shell script to the sqlplus inside the same shell script. How I should I do.can anyone help me pls. I have an req where I need to send the .sql file and the place where the script has to create a .csv... (9 Replies)
Discussion started by: Hemamalini
9 Replies

6. Shell Programming and Scripting

How to pass parameter from sqlplus(procedure completed) to your shell script

if then # mail -s "Import failed file does not exist" sanjay.jaiswal@xyz.com echo "FILE does not exist" exit 1 fi echo "FILE EXIST" size=-1 set $(du /export/home/oracle/nas/scott21.dmp.gz) while do echo "Inside the loop" size=$1 set $(du... (1 Reply)
Discussion started by: sanora600
1 Replies

7. Shell Programming and Scripting

pass shell parameters to awk does not work

Why does this work for myfile in `find . -name "R*VER" -mtime +1` do SHELLVAR=`grep ^err $myfile || echo "No error"` ECHO $SHELLVAR done and outputs No error err ->BIST Login Fail 3922 err No error err ->IR Remote Key 1 3310 err But... (2 Replies)
Discussion started by: alan
2 Replies

8. Shell Programming and Scripting

Shell Script passing parameters to sqlplus code

Hello All, I am interested in finding out a way to pass parameters that are entered at the prompt from HP unix and passed to SQLPlus code with a Shell Script. Is this possible? Thanks (4 Replies)
Discussion started by: compprog11
4 Replies

9. Shell Programming and Scripting

How to pass Variable from shell script to select query for SqlPlus?

echo "set echo off"; echo "set feedback off"; echo "set linesize 4000"; echo " set pagesize 0"; echo " set sqlprompt ''"; echo " set trimspool on"; Select statement is mentioned below echo "select res.ti_book_no from disney_ticket_history res where res.ti_status =${STATUS} and... (7 Replies)
Discussion started by: aroragaurav.84
7 Replies

10. UNIX for Beginners Questions & Answers

Pass value from sqlplus to shell on AIX

hello friend good morning I have a problem, how can I take the value that the PROCEDURE returns to me in the variable "CodError", when the connection to the bbdd is closed I lose the value and I need it in the shell #AIX cat <<EOF | sqlplus -s ${ORA_LOGIN}/${ORA_PASSWORD} > $logftmp set... (6 Replies)
Discussion started by: tricampeon81
6 Replies
Data::Faker::DateTime(3pm)				User Contributed Perl Documentation				Data::Faker::DateTime(3pm)

NAME
Data::Faker::DateTime - Data::Faker plugin SYNOPSIS AND USAGE
See Data::Faker DATA PROVIDERS
unixtime Return a unix time (seconds since the epoch) for a random time between the epoch and now. date Return a random date as a string, using a random date format (see date_format). time Return a random time as a string, using a random time format (see time_format). rfc822 Return an RFC 822 formatted random date. This method may not work on systems using a non-GNU strftime implementation (kindly let me know if that is the case.) ampm Returns am or pm randomly (in the current locale) using one of the formats specified in ampm_format. time_format Return a random time format. date_format Return a random date format. ampm_format Return a random am/pm format. datetime_format Return a random date and time format. month Return a random month name, unabbreviated, in the current locale. month_abbr Return a random month name, abbreviated, in the current locale. weekday Return a random weekday name, unabbreviated, in the current locale. weekday_abbr Return a random weekday name, abbreviated, in the current locale. sqldate Return a random date in the ISO8601 format commonly used by SQL servers (YYYY-MM-DD). datetime_locale Return a datetime string in the preferred date representation for the current locale, for a random date. date_locale Return a date string in the preferred date representation for the current locale, for a random date. time_locale Return a time string in the preferred date representation for the current locale, for a random date. century Return a random century number. dayofmonth Return a random day of the month. UTILITY METHODS
Data::Faker::DateTime::timestr($format); Given a strftime format specifier, this method passes it through to POSIX::strftime along with a random date to display in that format. Perl passes this through to the strftime function of your system library, so it is possible that some of the formatting tokens used here will not work on your system. NOTES AND CAVEATS
Be careful build timestamps from pieces Be very careful about building date/time representations in formats that are not already listed here. For example if you wanted to get a date that consists of just the month and day, you should NOT do this: my $faker = Data::Faker->new(); print join(' ',$faker->month,$faker->dayofmonth)." "; This is bad because you might end up with 'February 31' for example. Instead you should use the timestr utility function to provide you a formatted time for a valid date, or better still, write a plugin function that does it: my $faker = Data::Faker->new(); print $faker->my_short_date()." "; package Data::Faker::MyExtras; use base qw(Data::Faker); use Data::Faker::DateTime; __PACKAGE__->register_plugin( my_short_date => sub { Data::Faker::DateTime::timestr('%M %e') }, ); POSIX::strftime See the documentation above regarding the timestr utility method for some caveats related to strftime and your system library. SEE ALSO
Data::Faker AUTHOR
Jason Kohles, <email@jasonkohles.com> COPYRIGHT AND LICENSE
Copyright 2004-2005 by Jason Kohles This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.10.1 2005-07-14 Data::Faker::DateTime(3pm)
All times are GMT -4. The time now is 07:39 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy