Maison > développement back-end > C++ > Comment exécuter de gros scripts SQL avec des commandes GO en C# ?

Comment exécuter de gros scripts SQL avec des commandes GO en C# ?

Linda Hamilton
Libérer: 2025-01-20 01:51:10
original
980 Les gens l'ont consulté

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

Utilisez la commande GO pour exécuter de gros scripts SQL

Question : Comment exécuter un gros script SQL contenant des commandes GO dans un programme C# ? SqlCommand.ExecuteNonQuery() ne reconnaît pas l'instruction GO.

Réponse : Utilisez des objets de gestion SQL Server (SMO) qui reconnaissent le délimiteur GO.

Exemple de code :

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);
        }
    }
}
Copier après la connexion

Options de bibliothèque alternatives :

Comme alternative, vous pourriez envisager la bibliothèque de Phil Haack spécifiquement pour gérer les scripts SQL contenant des délimiteurs GO : https://www.php.cn/link/1288625a4bdcf1109ff5adca3bd33753

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal