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
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();
}