2017-11-06 9 views
0
REQ_OUTPUT1=`echo $XXOLA_TOP/log/Inv/xxola_inv_item_conv_int` 
echo Connecting in sqlplus 
sqlplus -s [email protected]$TWO_TASK <<+  > $REQ_OUTPUT1 
SET VERIFY OFF 
WHENEVER SQLERROR EXIT FAILURE ROLLBACK; 
SET LINESIZE 500; 
SET SERVEROUTPUT ON SIZE 1000000; 
SELECT 1 FROM DUAL; 
    exit; 

Oben ist mein Code, um sqlplus von Shell-Programm zu verbinden. Aber wenn ich dies leite ich unten Störung erhalten ..Fehler beim Verbinden der sqlplus von Shell-Skript

Linie 36: Warnung: hier-Dokument in Zeile 29 von End-of-Datei begrenzt (wollte `+ ')

+0

Was ist die Idee für dieses Skript - Können Sie Schritt für Schritt erklären, was Sie damit erreichen wollen; z.B. Führen Sie das als Punkt 1 aus, und führen Sie das dann als Punkt 2 aus. Das erwartete Ergebnis ist: .... und das tatsächliche Ergebnis ist:! .... zum Beispiel. Vielen Dank im Voraus m8! – g00dy

+0

Die Fehlermeldung ist sehr klar. Wenn Sie die Zeilennummern hinzufügen würden, wäre es nicht mehr klar. Weißt du, was ein Here-Dokument ist? – miracle173

Antwort

0

Sie nicht enden das hier Dokument richtig. Verwenden Sie keine Symbole wie + für Dokumentbegrenzer. Verwenden Sie geeignete aussagekräftige Zeichenfolgen.

REQ_OUTPUT1=`echo $XXOLA_TOP/log/Inv/xxola_inv_item_conv_int` 
echo Connecting in sqlplus 
sqlplus -s [email protected]$TWO_TASK <<INP  > $REQ_OUTPUT1 
SET VERIFY OFF 
WHENEVER SQLERROR EXIT FAILURE ROLLBACK; 
SET LINESIZE 500; 
SET SERVEROUTPUT ON SIZE 1000000; 
SELECT 1 FROM DUAL; 
    exit; 
INP 
+0

warum nicht Symbole wie '+' verwenden? Das "+" ist nicht das Problem. Das fehlende "+" ist das Problem. – miracle173

+0

@ Miracle173: Ich verstehe, dass + nicht das Problem ist. Aber ich glaube, ein String wie INP, END usw. ist sinnvoll und erhöht die Lesbarkeit. –

Verwandte Themen