wie gebe ich in einem Befehl zu sqsh und erhalten die Ausgabe in eine Datei in einem Rutsch?
Ich versuche zum einrichten einer einfache Schleife periodisch Abfragen einer Datenbank-Tabelle in der bash. Normalerweise bin ich zu haben scheinen, zu tun:
sqsh -s SERV -U user -P passwd -D db -L bcp_colsep=','
dann innerhalb sqsh ich den Typ:
select * from some_table where foo=bar
\go -m bcp > /path/to/output.out
War ich versucht, die -C
option sqsh pass in die Befehlszeile wie diese:
sqsh -s SERV -U user -P passwd -D db -L bcp_colsep=',' -C 'select * from some_table where foo=bar \go -m bcp > /path/to/output.out'
aber ich bekomme immer:
Incorrect syntax near '\'.
Wie kann ich die gewünschte Wirkung?
InformationsquelleAutor Palace Chan | 2014-01-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie die option-C verwenden, um pass on eine SQL-Anweisung, um sqsh, die \go-Befehl wird implizit ausgeführt. Die Ausgabe in 'bcp' Ergebnis-Stil müssen Sie die variable 'style=bcp' mit Hilfe der -L-parameter oder use-mbcp als Kommandozeilen-parameter und nur die Umleitung der Ausgabe in eine Datei, oder verwenden Sie die sqsh -o-parameter geben Sie einen Dateinamen für die Ausgabe. Also im Grunde Ihren Befehl würde wie folgt Aussehen:
HTH, Martin
InformationsquelleAutor Martin Wesdorp