SQL-Skriptdatei mit C# ausführen
Das Ziel dieses Programmierszenarios besteht darin, eine SQL-Skriptdatei auszuführen, die mehrere SQL-Anweisungen enthält, einschließlich Anweisungen, die sich über mehrere Zeilen erstrecken. Obwohl Sie Methoden wie ODP.NET und das Starten von SQLplus über einen Prozess ausprobiert haben, haben Sie Schwierigkeiten bei der Ausführung und Ausgabeerfassung. So lösen Sie Ihr Problem mit C#:
Um .SQL-Skriptdateien effektiv mit C# auszuführen, beachten Sie bitte die folgenden Verbesserungen:
Stellen Sie eine Datenbankverbindung mithilfe einer Verbindungszeichenfolge her, die den Servernamen, den Datenbanknamen und die Authentifizierungsdaten angibt.
Lesen Sie den Inhalt der .SQL-Skriptdatei in eine String-Variable. Dadurch können Sie die Datei einmal lesen und den Inhalt für die spätere Verwendung speichern.
Instanziieren Sie das Serverobjekt, indem Sie das Verbindungsobjekt als Parameter bereitstellen. Dadurch wird eine Darstellung der SQL Server-Instanz erstellt, die Sie verwenden möchten.
Erstellen Sie ein Befehlsobjekt mithilfe der ConnectionContext-Eigenschaft des Serverobjekts. Das Skript wird dann ausgeführt, indem die SQL-Zeichenfolge an die ExecuteNonQuery-Methode des Befehlsobjekts übergeben wird. Dadurch werden alle Anweisungen im Skript nacheinander ausgeführt.
Nachdem die Skriptausführung abgeschlossen ist, schließen Sie die Datenbankverbindung, um Ressourcen freizugeben.
Hier ist ein Codeausschnitt, der den oben genannten Ansatz demonstriert:
<code class="language-csharp">using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; 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"; // 读取SQL脚本文件的内容 string script = File.ReadAllText(@"E:\Project Docs\MX462-PD\MX756_ModMappings1.sql"); // 建立数据库连接 SqlConnection conn = new SqlConnection(sqlConnectionString); // 创建服务器实例 Server server = new Server(new ServerConnection(conn)); // 执行SQL脚本 server.ConnectionContext.ExecuteNonQuery(script); // 关闭连接 conn.Close(); } }</code>
Indem Sie diese Schritte befolgen, können Sie .SQL-Skriptdateien programmgesteuert mit C# ausführen und so die korrekte Ausführung aller Anweisungen und genaue Ergebnisse sicherstellen.
Das obige ist der detaillierte Inhalt vonWie kann ich mit C# eine SQL-Skriptdatei ausführen, die mehrere Anweisungen enthält?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!