Heim >Backend-Entwicklung >C++ >Wie kann ich mehrzeilige SQL-Skriptdateien in C# effizient ausführen?
In C# erfordert die Ausführung von .SQL-Skriptdateien besondere Überlegungen. In dieser Frage geht es um die Schwierigkeit, solche Dateien auszuführen, die segmentierte Anweisungen enthalten können, die sich über mehrere Zeilen erstrecken.
Herausforderungen und Lösungen
Versuche, das Skript mit ExecuteNonQuery von ODP.NET auszuführen, erwiesen sich als wirkungslos. Beim Starten eines Prozesses zum Aufrufen von sqlplus gab es Probleme mit dem Hängenbleiben und der Ausgabeumleitung.
Lösung mit Microsoft SQL Server Management Objects (SMO)
Die hier vorgestellte Lösung nutzt SMO, eine verwaltete Code-API zum Verwalten und Konfigurieren von SQL Server. Hier ist ein Codeausschnitt, der diesen Ansatz demonstriert:
<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 dieser Methode:
Das obige ist der detaillierte Inhalt vonWie kann ich mehrzeilige SQL-Skriptdateien in C# effizient ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!