Maison >développement back-end >C++ >Comment puis-je exécuter de manière fiable des fichiers de script .SQL multilignes à partir de C# ?
Exécution fiable de fichiers de script .SQL multilignes en C#
L'exécution de scripts SQL en C# est utile pour automatiser les opérations de base de données et gérer les objets de base de données. Cet article explore une solution pour exécuter des fichiers .SQL contenant plusieurs instructions SQL et aborde certains des défis qui surviennent en cours de route.
Le code fourni dans l'article tente d'exécuter un fichier SQL à l'aide d'ODP.NET et de l'objet Process, mais la méthode ExecuteNonQuery ne gère souvent pas correctement les instructions SQL multilignes et la méthode WaitForExit peut se bloquer lors de l'utilisation de UseShellExecute.
Cependant, une solution plus fiable et plus complète peut être obtenue en utilisant l'espace de noms Microsoft.SqlServer.Management.Smo en C#. Voici un extrait de code amélioré :
<code class="language-csharp">using Microsoft.SqlServer.Management.Smo; using Microsoft.SqlServer.Management.Common; using System.IO; using System.Data.SqlClient; public partial class ExcuteScript : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string sqlConnectionString = @"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ccwebgrity;Data Source=SURAJIT\SQLEXPRESS"; string script = File.ReadAllText(@"E:\Project Docs\MX462-PD\MX756_ModMappings1.sql"); SqlConnection conn = new SqlConnection(sqlConnectionString); Server server = new Server(new ServerConnection(conn)); server.ConnectionContext.ExecuteNonQuery(script); } }</code>
Dans ce code :
Cette méthode devrait être capable d'exécuter avec succès des instructions SQL multilignes à partir d'un fichier de script et de fournir une solution plus propre et plus puissante à vos besoins en matière de scripts SQL.
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!