Führt einen Betriebssystem-Befehl von einer Prozedur aus aus
xp_cmdshell( Befehl [ , 'no_output' ] )
Befehl Verwenden Sie diesen CHAR(8000)-Parameter, um einen Systembefehl anzugeben.
'no_output' Verwenden Sie diesen optionalen CHAR(254)-Parameter, um anzugeben, ob die Ausgabe angezeigt werden soll. Das Standardverhalten ist, die Ausgabe anzuzeigen. Wenn dieser Parameter die Zeichenfolge 'no_output' ist, wird keine Ausgabe angezeigt.
xp_cmdshell führt einen Systembefehl aus und gibt dann die Kontrolle an die aufrufende Umgebung zurück. Der von xp_cmdshell zurückgegebene Wert ist der Beendigungscode aus dem ausgeführten Shell-Prozess. Der Rückgabewert ist 2, wenn ein Fehler beim Start des untergeordneten Prozesses auftritt.
Der zweite Parameter betrifft nur Befehlszeilenanwendungen in Windows-Betriebssystemen. In UNIX wird ungeachtet der Einstellung des zweiten Parameters nichts angezeigt.
Für Windows Mobile sind alle ausgeführten Befehle ungeachtet der Einstellung des zweiten Parameters im Meldungslog des Datenbankservers ersichtlich. Die Konsolen-Shell \\windows\cmd.exe ist erforderlich, um die Prozedur auszuführen.
DBA-Berechtigung erforderlich
Die folgende Anweisung listet die Dateien im aktuellen Verzeichnis in der Datei c:\temp.txt auf:
xp_cmdshell( 'dir > c:\\temp.txt' ) |
Die folgende Anweisung führt den gleichen Vorgang aus, allerdings ohne Anzeige eines Befehlsfensters.
xp_cmdshell( 'dir > c:\\temp.txt', 'no_output' ) |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |