Ausführen von SQL*Plus aus der PowerShell
Habe ich zwei Dateien in C:\temp\SQL\alex.sql
und in C:\temp\alex.ps1
.
In C:\temp\SQL\alex.sql
, das ist einfach
select count(*) from user_tables;
quit;
In C:\temp\alex.ps1
, das ist
$cmd = "sqlplus";
$args = "user/password@server/sid @C:\temp\SQL\alex.sql";
&$cmd $args;
Habe ich versucht den Befehl in der Eingabeaufforderung
sqlplus user/password@server/sid @C:\temp\SQL\alex.sql
die perfekt ausgeführt!
Wird die SQL-Datei wird überhaupt nicht ausgeführt, aber SQL*Plus-Hilfe angezeigt.
Was habe ich falsch gemacht? Danke!
InformationsquelleAutor Alex Yeung | 2012-03-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich die Lösung selber
Benutze ich
cmd.exe /c
undalex.ps1
ist jetztHoffe, dass dies helfen.
InformationsquelleAutor Alex Yeung
Bieten eine alternative Lösung an @Alex Yeung, können Sie einfach die PowerShell
&
call-Befehl zum ausführen der Anweisung geradezu, ohne die Notwendigkeit zu verwendencmd.exe
:Erwägen Sie die folgenden auf den Grund Ihrer script-Datei, um sicherzustellen, SQLPlus ist geschlossen, wenn es beendet wird:
InformationsquelleAutor oliver-clare