Laden...

TSQL mittels SQLCMD ausführen

Erstellt von schillerdeluxe vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.791 Views
S
schillerdeluxe Themenstarter:in
138 Beiträge seit 2006
vor 15 Jahren
TSQL mittels SQLCMD ausführen

verwendetes Datenbanksystem: MS SQL Server 2005

Hallo,
ich habe leider mal wieder ein Problem:

Ich habe mehrere TSQL Skripte, welche sich verkettet selbst aufrufen (Sie erzeugen eine Datenbank und Tragen dummy-Werte ein) ...

Jetzt habe ich vorher eine cmd Datei gehabt, welche die einzelnen .sql Dateien ausführt... Ist keine schöne Lösung, daher möchte ich EINE .exe Anwendung, welche die sql Skripte als Resources eingebunden hat.

Jetzt gibt es leider nur ein Problem...
Ich bekomme ein Exception und weiß leider nicht wieso:
Code:


ProcessStartInfo startInfo = new ProcessStartInfo("sqlcmd", Resources.SQL_GWS_CreateDB);
Process.Start(startInfo);

Exception:
Win32 Exception wird nicht behandelt
Der an einen Systemaufruf übergebene Datenbereich ist zu klein

Was kann der Fehler sein?
Danke

G
497 Beiträge seit 2006
vor 15 Jahren

du willst die Skripte per sqlcmd aufrufen? Dann würd ich das auszuführende Skript jeweils in eine temporäre Datei speichern und dann über

sqlcmd -i "\pfad\zum\skript\skript.sql"

ausführen.

Du kannst die Skripte auch über eine SQLConnection und ein SQLCommand ausführen.

Beispiel:


...
    string queryString = 
        "Update Tabelle set Feld = 1;";
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        SqlCommand command = new SqlCommand(
            queryString, connection);
        connection.Open();
        command.ExecuteNonQuery();
    }