Heim >Backend-Entwicklung >C++ >Wie führe ich große SQL-Skripte mit GO-Befehlen in C# aus?

Wie führe ich große SQL-Skripte mit GO-Befehlen in C# aus?

Linda Hamilton
Linda HamiltonOriginal
2025-01-20 01:51:10922Durchsuche

How to Execute Large SQL Scripts with GO Commands in C#?

Verwenden Sie den GO-Befehl, um große SQL-Skripte auszuführen

Frage: Wie führe ich ein großes SQL-Skript mit GO-Befehlen in einem C#-Programm aus? SqlCommand.ExecuteNonQuery() erkennt die GO-Anweisung nicht.

Antwort: Verwenden Sie SQL Server Management Objects (SMO), das das GO-Trennzeichen erkennt.

Beispielcode:

<code class="language-csharp">public static void Main()
{
    string scriptDirectory = "c:\temp\sqltest\";
    string sqlConnectionString = "Integrated Security=SSPI;" +
                                  "Persist Security Info=True;Initial Catalog=Northwind;Data Source=(local)";
    DirectoryInfo di = new DirectoryInfo(scriptDirectory);
    FileInfo[] rgFiles = di.GetFiles("*.sql");
    foreach (FileInfo fi in rgFiles)
    {
        FileInfo fileInfo = new FileInfo(fi.FullName);
        string script = fileInfo.OpenText().ReadToEnd();
        using (SqlConnection connection = new SqlConnection(sqlConnectionString))
        {
            Server server = new Server(new ServerConnection(connection));
            server.ConnectionContext.ExecuteNonQuery(script);
        }
    }
}</code>

Alternative Bibliotheksoptionen:

Als Alternative könnten Sie die Bibliothek von Phil Haack in Betracht ziehen, die speziell für die Verarbeitung von SQL-Skripten mit GO-Trennzeichen gedacht ist: https://www.php.cn/link/1288625a4bdcf1109ff5adca3bd33753

Das obige ist der detaillierte Inhalt vonWie führe ich große SQL-Skripte mit GO-Befehlen in C# aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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