Verwendung von sql*plus in der Windows command script zu Steuern fließen?
Ich versuche, sql*plus, um die Kontrolle über eine kleine Windows-Befehlsskript.
Grundsätzlich möchte ich ausführen einer PL/SQL (vielleicht wählen Sie aus einer Ansicht oder Tabelle oder eine Funktion ausführen) was zeigt mir der status von einigen Zeilen in der Datenbank, und dann je nach Zustand der Zeilen, einige Windows-Befehle.
Mein problem ist, wie man die Ergebnisse wieder in den command script.
sqlplus user/password@server @script.sql
IF <CONDITIONAL HERE BASED on script.sql results> GOTO :runprocess
REM log and email that process had to be skipped
EXIT
:runprocess
REM run various Windows service commands
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde wahrscheinlich schreiben des Skripts (oder die bedingt, abhängig von den Anforderungen) aus der genannten
script.sql
selbst.Beispielsweise die folgenden
script.sql
schafft eine .bat-Dateiwindows_commands.bat
:Können Sie dann rufen
script.sql
aus noch einem anderen .bat-Datei etwa so:Dies ist, was ich am Ende mit.
Meine .cmd-Skript:
Wo der script.sql:
Ich würde Sie ermutigen, zu nicht verwenden .bat-Dateien. Sie haben viele andere alternativen zur Verfügung: C/C++ oder VB, Windows scripting oder Powershell, oder auch Kostenlose downloads wie Perl oder Bash.
Aber hier ist ein Beispiel der Rückgabe von Fehlercodes in .bat-Dateien:
Aber bitte werfen Sie einen Blick auf einige der links, die ich oben gab. Die Vermeidung .bat-Dateien machen es einfacher für Sie, und machen es leichter zu pflegen in die Zukunft.
IMHO ...
Ich etwas tun, wie dies durch erstellen einer .bat-Datei, die die windows-Zeug und aufrufen von sql-Skripts benötigt. Verwenden Sie SQL spool Ihre Ergebnisse in einer text-Datei, die Sie Lesen können.
In der sql-verwenden Sie diesen Befehl spool C:\yourResults.txt oder für anspruchsvollere Verwendungen erstellen Sie eine Prozedur, die, wenn Sie aufgerufen werden, schreibt die Ergebnisse in eine text-Datei mit UTL_FILE
Ich Sie ermutigen, nehmen Sie einen Blick auf die beiden Skripte enthalten, die in der Oracle XE für Sicherung und Wiederherstellung. Diese Skripte haben mir viel beigebracht, wie Sie zu behandeln batch-scripting und Oracle auf der Windows-Plattform.
Verbunden:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
Mit der Partitionierung, OLAP, Data Mining and Real Application Testing Optionen