Maison >développement back-end >C++ >Comment exécuter un fichier de script .SQL en utilisant C# ?
Ce guide montre comment exécuter un fichier de script .SQL en utilisant C#. Nous utiliserons l'assembly Microsoft.SqlServer.Management.Smo
pour cette tâche.
Mise en œuvre
Le code C# suivant fournit une implémentation complète :
<code class="language-csharp">using Microsoft.SqlServer.Management.Smo; using Microsoft.SqlServer.Management.Common; using System.IO; using System.Data.SqlClient; public class SqlScriptExecutor { public static void Main(string[] args) { string connectionString = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ccwebgrity;Data Source=SURAJIT\SQLEXPRESS"; string scriptPath = @"E:\Project Docs\MX462-PD\MX756_ModMappings1.sql"; try { // Connect to the SQL Server database. using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); // Create a Server object. Server server = new Server(new ServerConnection(connection)); // Read the SQL script. string script = File.ReadAllText(scriptPath); // Execute the script. server.ConnectionContext.ExecuteNonQuery(script); Console.WriteLine("SQL script executed successfully."); } } catch (Exception ex) { Console.WriteLine($"Error executing SQL script: {ex.Message}"); } } }</code>
Explication du code
SqlConnection
est créé et ouvert, puis un objet Server
est instancié pour représenter le serveur de base de données. L'instruction using
garantit que la connexion est correctement fermée.File.ReadAllText
lit l'intégralité du script SQL dans une chaîne.server.ConnectionContext.ExecuteNonQuery
exécute le script SQL. Cette méthode gère plusieurs instructions SQL dans le fichier de script.try-catch
gère les exceptions potentielles lors de l'exécution du script.Cette méthode fournit un moyen robuste d'exécuter des scripts SQL à partir de votre application C#, en gérant efficacement plusieurs instructions et sauts de ligne. N'oubliez pas d'ajuster la chaîne de connexion et le chemin du script en fonction de votre environnement.
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!