Zuverlässige Ausführung mehrzeiliger .SQL-Skriptdateien in C#
Das Ausführen von SQL-Skripten in C# ist nützlich für die Automatisierung von Datenbankvorgängen und die Verwaltung von Datenbankobjekten. In diesem Artikel wird eine Lösung für die Ausführung von .SQL-Dateien untersucht, die mehrere SQL-Anweisungen enthalten, und es werden einige der dabei auftretenden Herausforderungen behandelt.
Der im Artikel bereitgestellte Code versucht, eine SQL-Datei mit ODP.NET und dem Process-Objekt auszuführen, aber die ExecuteNonQuery-Methode verarbeitet mehrzeilige SQL-Anweisungen oft nicht korrekt und die WaitForExit-Methode kann bei Verwendung von UseShellExecute hängen bleiben.
Eine zuverlässigere und vollständigere Lösung kann jedoch mithilfe des Microsoft.SqlServer.Management.Smo-Namespace in C# erreicht werden. Hier ist ein verbesserter Codeausschnitt:
<code class="language-csharp">using Microsoft.SqlServer.Management.Smo; using Microsoft.SqlServer.Management.Common; using System.IO; using System.Data.SqlClient; public partial class ExcuteScript : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string sqlConnectionString = @"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ccwebgrity;Data Source=SURAJIT\SQLEXPRESS"; string script = File.ReadAllText(@"E:\Project Docs\MX462-PD\MX756_ModMappings1.sql"); SqlConnection conn = new SqlConnection(sqlConnectionString); Server server = new Server(new ServerConnection(conn)); server.ConnectionContext.ExecuteNonQuery(script); } }</code>
In diesem Code:
Diese Methode sollte in der Lage sein, mehrzeilige SQL-Anweisungen erfolgreich aus einer Skriptdatei auszuführen und eine sauberere und leistungsfähigere Lösung für Ihre SQL-Skriptanforderungen bereitzustellen.
Das obige ist der detaillierte Inhalt vonWie kann ich mehrzeilige .SQL-Skriptdateien zuverlässig aus C# ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!