The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Forskellen i ringer shell-scripts arpit_narula Sun Solaris 6 09-07-2008 03:46 PM
Issue ringer scripts gennem cron. vskr72 Shell Programmering og Scripting 5 01-07-2008 08:12 PM
Opkald SQL LDR og SQL plus scripts i et shell script rajagavini Shell Programmering og Scripting 5 11-05-2007 06:12 PM
Opkald funktioner i scripts direkte LiquidChild Shell Programmering og Scripting 12 04-27-2007 06:28 AM
Opkald SQL scripts gennem Shell Script madhunk Shell Programmering og Scripting 18 06-14-2006 12:35 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 11-21-2007
manas_ranjan's Avatar
manas_ranjan manas_ranjan is offline
Registreret Bruger
  
 

Join Date: Jul 2007
Beliggenhed: Amsterdam
Posts: 177
en mulig løsning på SQL ringer scripts

Hej alle,

Jeg har en funktion, som vil tage i / p som en ddl sctipt som I / P og fuldbyrde den,
lade
HTML Code:
function execute_sql
{
db_var="$1"
v_cnt=`sqlplus -s XXXXX/XXXXX@aXXX << ENDSQL | sed -e "s/Connected\.//" -e "/^$/d"
set pagesize 0 feedback off verify off heading off echo off  serveroutput on size 10000
whenever sqlerror exit SQL.SQLCODE;
$db_var
commit;
exit ;
ENDSQL`
db_var=""
}
hvis jeg udføre en forkert ddl script, så jeg er ikke i stand til at fange retrun koden som 1 i stedet for det kaster mig 0, hvis jeg udfører den ddl gennem function.

lad min ddl der er forkert, er,
INSERT INTO CBF_CONFIG (CS_ID, CS_NAME, FIELD_SEP, REC_SEP, FIELDS_NUM, FTPS_FILE, DECSN_FMT_TYPE, DECSN_FIELDS, DECSN_SCHDL_TYPE, DECSN_SCHDL, DECSN_TIME, DECSN_UNITWS, UNIQ_FILE_CONVNS, OUTBOX_RETN, UPDATE_TIME) VALUES
( 'MANASMANAS1', 'SCORENETHERLANDS','|',' NULL', '15 ',' N ',' Standard ',' NULL ',' Daglig ',' NULL ', '14: 00', 'N' , 'Y', '1 ', SYSDATE);
den o / p vil som følger, hvis jeg køre den gennem enkle sqlplus miljø,
( 'MANASMANAS1', 'SCORENETHERLANDS','|',' NULL', '15 ',' N ',' Standard ',' NULL ',' Daglig ',' NULL ', '14: 00', 'N' , 'Y', '1 ', SYSDATE)
*
FEJL på linie 2:
ORA-12899: value for stort til kolonnen "XXXXX". "CBF_CONFIG". "CS_ID"
(faktisk: 11, maksimum: 10)

men hvis jeg vil kalde det gennem ovenstående Shell funktioner,
HTML Code:
insert_sql="INSERT INTO CBF_CONFIG ( CS_ID, CS_NAME, FIELD_SEP, REC_SEP, FIELDS_NUM, FTPS_FILE, DECSN_FMT_TYPE, DECSN_FIELDS, DECSN_SCHDL_TYPE, DECSN_SCHDL, DECSN_TIME, DECSN_UNITWS, UNIQ_FILE_CONVNS, OUTBOX_RETN, UPDATE_TIME ) VALUES
('MANASMANAS1','SCORENETHERLANDS','|','NULL','15','N','STANDARD','NULL','DAILY','NULL','14:00','N','Y','1',SYSDATE) ; "
echo $insert_sql

execute_sql "$insert_sql"
rc=$?
echo "exit code $rc"
Derefter rc er 0, men v_cnt er "FEJL på linie 2:
ORA-12899: value for stort til kolonnen "CLIFBACONFIG". "CBF_CONFIG". "CS_ID"
(faktisk: 11, maksimum: 10) "

mit spørgsmål er derfor, jeg er ikke i stand til at fange SQL.SQLCODE selv i den funktion, der er en linje når sqlerror exit SQL.SQLCODE...
nogen forslag til at forbedre den fejl at fange session ...........

Senest redigeret af manas_ranjan; 11-22-2007 kl 05:06 AM.. Årsag: fjern login / pwd @ dbname
  #2 (permalink)  
Old 11-21-2007
Cameron's Avatar
Cameron Cameron is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Nov 2001
Beliggenhed: Brisbane, Australien
Posts: 499
Det er meget sandsynligt, at du ikke søge på fora for 'sqlplus«.

Selv om dette kan ikke besvare alle dine spørgsmål, kan det bringe dig på rette vej.

Sådan kontrolleres sqlplus kommando er vellykket eller ikke i HP-UX?

Forsøger at udføre SQL i den måde, du har vist, er virkelig svært at styre tiden.

I fremtiden vil gøre brug af søgefunktionen i disse fora.
Du spørgsmål, er mere end sandsynligt at have været stillet før i tiden.

Skål,
Cameron
  #3 (permalink)  
Old 11-22-2007
manas_ranjan's Avatar
manas_ranjan manas_ranjan is offline
Registreret Bruger
  
 

Join Date: Jul 2007
Beliggenhed: Amsterdam
Posts: 177
Wink

thankx Cameron.

Jeg har været igennem alle søgning ... men ikke nævnt nogen ...... som nogen af dem ikke er opfyldt mine krav
da jeg sende det med forvirrende udtalelser ... ked af det.

faktisk jeg vil spørge, selvom når sqlerror exit SQL.SQLCODE er der derfor, at jeg ikke i stand til at fange, at SQL.SQLCODE efter udførelsen af den funktion???? hvorfor rc vises 0 som vi alle ved, at jeg fuldbyrdende forkert DDL (r), hvorfor ikke SQL.SQLCODE som rc ????? Jeg vil være taknemmelige, hvis du kan forklare mig ....

BEMÆRK: Jeg har ikke brugt nogen spool fil, o / p skovhugst fil .. snarere end jeg tjekket ERROR / output ved at vælte o / p til at v_cnt som følger,

HTML Code:
if [ `echo "$v_cnt" | grep "ORA-" | wc -l` -ne 0 ]
then
echo "`basename $0` wrong execution possible reason is :-`echo "$v_cnt" | grep "ORA-" | awk -F":" '{print $2}'`"
exit 1
fi
igen sorry for vildledende / forvirrende udtalelser ...... næste gang vil jeg forsøge at tage sig af dette.

Senest redigeret af manas_ranjan; 11-22-2007 kl 05:08 AM..
  #4 (permalink)  
Old 11-22-2007
ranj @ chn ranj@chn is offline Forum Advisor  
Leger med Ubuntu Now!
  
 

Join Date: oktober 2005
Sted: Chennai
Posts: 365
problem med din sed

Problemet er med din sed. Det kører fint og Thats hvorfor returkode er nul. Fjern sed og kontrollere dine resultater.
  #5 (permalink)  
Old 11-22-2007
manas_ranjan's Avatar
manas_ranjan manas_ranjan is offline
Registreret Bruger
  
 

Join Date: Jul 2007
Beliggenhed: Amsterdam
Posts: 177
Thumbs up

du har helt ret ...... efter fjernelse sed ... jeg fik det præcise svar som forventet.

thanks a lot .... ranj ......
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 12:22 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0