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

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

DDD
Libérer: 2025-01-20 01:56:09
original
370 Les gens l'ont consulté

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

Exécuter efficacement des scripts SQL volumineux avec des commandes GO en C#

La gestion des bases de données implique souvent l'exécution de scripts SQL contenant des GO commandes pour séparer les lots. L'utilisation directe de SqlCommand.ExecuteNonQuery() présente des défis lors du traitement de ces scripts.

Exploiter les objets de gestion SQL Server (SMO)

Une approche robuste utilise les objets de gestion SQL Server (SMO). SMO gère intrinsèquement les séparateurs GO, simplifiant ainsi l'exécution du script. La classe ServerContext de SMO fournit une méthode simple à cet effet.

Voici un exemple utilisant SMO :

<code class="language-csharp">using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;

// Establish a connection to the SQL Server instance
using (SqlConnection connection = new SqlConnection(sqlConnectionString))
{
    // Create a Server object
    Server server = new Server(new ServerConnection(connection));

    // Execute the SQL script
    server.ConnectionContext.ExecuteNonQuery(script);
}</code>
Copier après la connexion

Solution alternative : la bibliothèque de Haacked

Si SMO n'est pas réalisable, la bibliothèque de Phil Haack propose une alternative pour gérer les GO déclarations :

<code class="language-csharp">using Haacked.Sql;

// Execute the script using Haacked's library
BatchScript.Run(sqlConnectionString, script);</code>
Copier après la connexion

Résumé

SMO ou la bibliothèque Haack fournissent des méthodes efficaces et fiables pour exécuter de gros scripts SQL contenant des GO commandes en C#, éliminant ainsi les complexités de la séparation manuelle des lots. Choisissez la méthode la mieux adaptée aux dépendances et aux exigences de votre projet.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal