The UNIX and Linux Forums  


Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
differenza di chiamata script di shell arpit_narula SUN Solaris 6 09-07-2008 04:46 PM
Numero di chiamata tramite script CRON. vskr72 Shell scripting e di programmazione 5 01-07-2008 08:12 PM
Chiamata LDR SQL e SQL più script in uno script di shell rajagavini Shell scripting e di programmazione 5 11-05-2007 06:12 PM
Funzioni di chiamata negli script direttamente LiquidChild Shell scripting e di programmazione 12 04-27-2007 07:28 AM
Telefonare tramite script SQL Shell Script madhunk Shell scripting e di programmazione 18 06-14-2006 01:35 PM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 11-21-2007
manas_ranjan's Avatar
manas_ranjan manas_ranjan is offline
Utente Registrato
  
 

Iscriviti Data: luglio 2007
Ubicazione: Amsterdam
Interventi: 177
ogni possibile soluzione chiamata script sql

Ciao a tutti,

Ho una funzione che avrà i / p come un ddl sctipt come i / p e eseguirlo,
lasciare
Codice HTML:
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=""
}
se io sono l'esecuzione di uno script ddl sbagliato, allora io non sono in grado di catturare il retrun codice 1, piuttosto che si getta 0 se mi sto eseguendo il ddl attraverso lo script funzione.

lasciare che il mio ddl che si è sbagliato,
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) VALORI
( 'MANASMANAS1', 'SCORENETHERLANDS','|',' NULL','15 ',' N ',' standard ',' NULL ',' TUTTI I GIORNI ',' null ', 14: 00', 'N' , 'Y','1 ', SYSDATE);
O / p come segue se sono esecuzione attraverso semplici sqlplus ambiente,
( 'MANASMANAS1', 'SCORENETHERLANDS','|',' NULL','15 ',' N ',' standard ',' NULL ',' TUTTI I GIORNI ',' null ', 14: 00', 'N' , 'Y','1 ', SYSDATE)
*
Errore alla riga 2:
ORA-12899: il valore troppo grande per la colonna "XXXXX". "CBF_CONFIG". "CS_ID"
(effettivi: 11, massimo: 10)

ma se io vado a chiamare tramite la shell di funzioni di cui sopra,
Codice HTML:
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"
rc poi è 0, ma è v_cnt "ERRORE alla riga 2:
ORA-12899: il valore troppo grande per la colonna "CLIFBACONFIG". "CBF_CONFIG". "CS_ID"
(effettivi: 11, massimo: 10) "

la mia domanda è: perché io non sono in grado di catturare SQL.SQLCODE anche se in funzione non vi è una linea ogniqualvolta SQLError uscita SQL.SQLCODE...
qualsiasi suggerimento per migliorare l'errore cattura sessione ...........

Ultimo a cura di manas_ranjan; al 11/22/2007 05:06 AM.. Motivo: rimuovere il login / pwd @ dbname
 

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 03:53 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0