2017-10-31 2 views
7

SQLCL ist genau das, was ich brauche, aber ich habe eine große Schwierigkeit auf eine kleine Sache:SQLCL Batch Scripting: Auto Connection + EXPORT CSV

Ich möchte ein Skript (Batch-Datei) mit Auto-Verbindung herzustellen und einfach nach einer EXPORT-CSV (auf einem Remote-Desktop: nicht auf dem Server).

So verwende ich die Rohr-Methode mit SQLCL in einer Batch-Datei:

echo SET SQLFORMAT CSV < 
echo SPOOL export.csv < 
echo SELECT COUNT(*) FROM ARTICLE; < 
echo SPOOL OFF | C:\Work\Soft\sqlcl\bin\sql.exe login/[email protected]:1521/DB.SCH 

Es ist (keine Fehler in der Konsole) arbeiten, aber unmöglich, die Datei zu finden export.csv: wenn ich das Ziel c:\... es zu ändern ist funktioniert auch, aber unmöglich, die erstellte Datei zu finden. Es funktioniert gut mit SQL Developer und die Datei ist auf meinem Dekstop erstellt, so verstehe ich nicht, warum es nicht der gleiche Fall für SQLCL ist.

+2

Was Sie im Skript die '<' zu tun erwarten? – SomethingDark

+0

Es war der größte Fehler in meinem Skript, ich hatte zwischen parallelen Befehl und Escape Char. –

+0

Fügen Sie in Ihrem Skript "cd/pfad/zu/wo/Sie/wollen/die/Datei" hinzu, sonst wird es im Ordner C: \ Work \ Soft \ sqlcl \ bin \ landen. –

Antwort

0

ich die Antwort aus der Oracle-Plattform hatte:

@echo off   
echo SET SQLFORMAT CSV ^& ^   
echo SET FEEDBACK OFF ^& ^   
echo SPOOL export.csv ^& ^   
echo SELECT COUNT^(*^) FROM dual ^& ^   
echo SPOOL OFF |  C:\Work\Soft\sqlcl\bin\sql.exe sql -noupdates -s -l login/[email protected]:1521/DB.SCH 

danken Gaz in Oz

Verwandte Themen