marcimarc85
Goto Top

Mehrere SQL-Scripte per Powershell ausführen

Hallo zusammen,

Ich möchte in einem Powershell mehrere SQL-Scripte für eine Datenbank ausführen.

Ich habe die Scripte mit

01_irgendwas.sql
02_irgendwas.sql
etc.

benannt, damit sie in entsprechendener Reihenfolge abgearbeitet werden. die Scripte liegen in einem eigenen Unterordner "sql_scripte"

Wie lass ich da jetzt am Besten eine for-Schleife drüber Laufen, die die Scripte in der richtigen Reihenfolge abarbeitet?

Ich kenne jetzt spontan nur den Befehl aus der cmd um ein Script anzuwenden?

 mysql -u dbadmin -p$password -D mydatabase< 01_irgendwas.sql

Kann ich den in Powershell genauso ausführen?

Beste Grüße

Content-ID: 13616521697

Url: https://administrator.de/contentid/13616521697

Ausgedruckt am: 22.11.2024 um 05:11 Uhr

8030021182
8030021182 11.12.2023 aktualisiert um 15:09:06 Uhr
Goto Top
$files = Get-ChildItem "d:\pfad\swl_scripte" -File -Filter *.SQL | sort Name  
foreach($file in $files){
    Invoke-SQLCmd -Inputfile $file.Fullname -username "dbadmin" -password "BlaBlub" -ServerInstance "MyComputer\MyInstance"  
}
foreach
Invoke-SqlCmd
Sort-Object

Für MYSQL statt SQLServer
https://www.virtualizationhowto.com/2019/07/how-to-query-a-mysql-databas ...

Gruß Katrin
ukulele-7
ukulele-7 11.12.2023 um 15:04:08 Uhr
Goto Top
Was haben die denn jeweils für eine Laufzeit? Keine Ahnung wie Powershell auf lange Laufzeiten oder unerwartete Fehler reagiert.

Alternativ klingt das eher so als solltest du dir eine stored procedure bauen, oder auch mehrere, und das einfach einmalig aufrufen.
MarciMarc85
MarciMarc85 12.12.2023 um 06:41:28 Uhr
Goto Top
Immer nur einige Sekunden