Diese Anleitung zeigt, wie Sie eine .SQL-Skriptdatei mit C# ausführen. Für diese Aufgabe verwenden wir die Microsoft.SqlServer.Management.Smo
-Assembly.
Umsetzung
Der folgende C#-Code stellt eine vollständige Implementierung bereit:
<code class="language-csharp">using Microsoft.SqlServer.Management.Smo; using Microsoft.SqlServer.Management.Common; using System.IO; using System.Data.SqlClient; public class SqlScriptExecutor { public static void Main(string[] args) { string connectionString = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ccwebgrity;Data Source=SURAJIT\SQLEXPRESS"; string scriptPath = @"E:\Project Docs\MX462-PD\MX756_ModMappings1.sql"; try { // Connect to the SQL Server database. using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); // Create a Server object. Server server = new Server(new ServerConnection(connection)); // Read the SQL script. string script = File.ReadAllText(scriptPath); // Execute the script. server.ConnectionContext.ExecuteNonQuery(script); Console.WriteLine("SQL script executed successfully."); } } catch (Exception ex) { Console.WriteLine($"Error executing SQL script: {ex.Message}"); } } }</code>
Code-Erklärung
SqlConnection
wird erstellt und geöffnet, dann wird ein Server
-Objekt instanziiert, um den Datenbankserver darzustellen. Die using
-Anweisung stellt sicher, dass die Verbindung ordnungsgemäß geschlossen wird.File.ReadAllText
liest das gesamte SQL-Skript in einen String.server.ConnectionContext.ExecuteNonQuery
führt das SQL-Skript aus. Diese Methode verarbeitet mehrere SQL-Anweisungen innerhalb der Skriptdatei.try-catch
-Block behandelt mögliche Ausnahmen während der Skriptausführung.Diese Methode bietet eine robuste Möglichkeit, SQL-Skripte innerhalb Ihrer C#-Anwendung auszuführen und dabei mehrere Anweisungen und Zeilenumbrüche effektiv zu verwalten. Denken Sie daran, die Verbindungszeichenfolge und den Skriptpfad an Ihre Umgebung anzupassen.
Das obige ist der detaillierte Inhalt vonWie führe ich eine .SQL-Skriptdatei mit C# aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!