Heim >Backend-Entwicklung >C++ >Wie führe ich große SQL-Skripte mit GO-Befehlen in C# aus?
Verwenden Sie den GO-Befehl, um große SQL-Skripte auszuführen
Frage: Wie führe ich ein großes SQL-Skript mit GO-Befehlen in einem C#-Programm aus? SqlCommand.ExecuteNonQuery() erkennt die GO-Anweisung nicht.
Antwort: Verwenden Sie SQL Server Management Objects (SMO), das das GO-Trennzeichen erkennt.
Beispielcode:
<code class="language-csharp">public static void Main() { string scriptDirectory = "c:\temp\sqltest\"; string sqlConnectionString = "Integrated Security=SSPI;" + "Persist Security Info=True;Initial Catalog=Northwind;Data Source=(local)"; DirectoryInfo di = new DirectoryInfo(scriptDirectory); FileInfo[] rgFiles = di.GetFiles("*.sql"); foreach (FileInfo fi in rgFiles) { FileInfo fileInfo = new FileInfo(fi.FullName); string script = fileInfo.OpenText().ReadToEnd(); using (SqlConnection connection = new SqlConnection(sqlConnectionString)) { Server server = new Server(new ServerConnection(connection)); server.ConnectionContext.ExecuteNonQuery(script); } } }</code>
Alternative Bibliotheksoptionen:
Als Alternative könnten Sie die Bibliothek von Phil Haack in Betracht ziehen, die speziell für die Verarbeitung von SQL-Skripten mit GO-Trennzeichen gedacht ist: https://www.php.cn/link/1288625a4bdcf1109ff5adca3bd33753
Das obige ist der detaillierte Inhalt vonWie führe ich große SQL-Skripte mit GO-Befehlen in C# aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!