Heim > Backend-Entwicklung > C++ > Wie kann ich mehrzeilige SQL-Skriptdateien in C# effizient ausführen?

Wie kann ich mehrzeilige SQL-Skriptdateien in C# effizient ausführen?

Patricia Arquette
Freigeben: 2025-01-18 14:51:09
Original
505 Leute haben es durchsucht

How Can I Efficiently Execute Multi-Line SQL Script Files in C#?

SQL-Skriptdatei mit C# 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>
Nach dem Login kopieren

In dieser Methode:

  • SMO wird mit einer Verbindung zur Zieldatenbank initialisiert.
  • Das Skript wird aus der Datei gelesen und zur Ausführung an SMO übergeben.
  • ExecuteNonQuery wird zum Ausführen von Skripten auf SQL Server-Instanzen verwendet.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage