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

<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>
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!

source:php.cn
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