Maison >base de données >tutoriel mysql >Comment puis-je exécuter un fichier de script SQL contenant plusieurs instructions en utilisant C# ?

Comment puis-je exécuter un fichier de script SQL contenant plusieurs instructions en utilisant C# ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-17 10:07:08426parcourir

How can I execute an SQL script file containing multiple statements using C#?

Exécuter le fichier de script .SQL en utilisant C#

Le but de ce scénario de programmation est d'exécuter un fichier de script SQL contenant plusieurs instructions SQL, y compris des instructions qui s'étendent sur plusieurs lignes. Bien que vous ayez essayé des méthodes telles que ODP.NET et la génération de SQLplus via un processus, vous rencontrez des difficultés d'exécution et de capture de sortie. Voici comment résoudre votre problème en utilisant C# :

Afin d'exécuter efficacement les fichiers de script .SQL à l'aide de C#, veuillez considérer les améliorations suivantes :

  1. Établir la connexion à la base de données :

Établissez une connexion à la base de données à l'aide d'une chaîne de connexion qui spécifie le nom du serveur, le nom de la base de données et les informations d'authentification.

  1. Lire le contenu du fichier de script :

Lisez le contenu du fichier de script .SQL dans une variable de chaîne. Cela vous permet de lire le fichier une fois et de stocker le contenu pour une utilisation ultérieure.

  1. Créer une instance de serveur :

Instanciez l'objet Serveur en fournissant l'objet de connexion en paramètre. Cela créera une représentation de l'instance SQL Server que vous souhaitez utiliser.

  1. Exécuter le script :

Créez un objet de commande à l'aide de la propriété ConnectionContext de l'objet Server. Le script est ensuite exécuté en transmettant la chaîne SQL à la méthode ExecuteNonQuery de l'objet commande. Cela exécutera toutes les instructions du script de manière séquentielle.

  1. Fermer la connexion :

Une fois l'exécution du script terminée, fermez la connexion à la base de données pour libérer les ressources.

Voici un extrait de code illustrant l'approche ci-dessus :

<code class="language-csharp">using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
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";

        // 读取SQL脚本文件的内容
        string script = File.ReadAllText(@"E:\Project Docs\MX462-PD\MX756_ModMappings1.sql");

        // 建立数据库连接
        SqlConnection conn = new SqlConnection(sqlConnectionString);

        // 创建服务器实例
        Server server = new Server(new ServerConnection(conn));

        // 执行SQL脚本
        server.ConnectionContext.ExecuteNonQuery(script);

        // 关闭连接
        conn.Close();
    }
}</code>

En suivant ces étapes, vous pouvez exécuter par programme des fichiers de script .SQL en utilisant C#, garantissant ainsi une exécution correcte de toutes les instructions et des résultats précis.

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