首頁 > 後端開發 > C++ > 如何使用 C# 執行 .SQL 腳本檔案?

如何使用 C# 執行 .SQL 腳本檔案?

Patricia Arquette
發布: 2025-01-18 15:06:11
原創
965 人瀏覽過

How to Execute an .SQL Script File Using C#?

使用C#執行SQL腳本檔

本指南示範如何使用 C# 執行 .SQL 腳本檔案。 我們將利用 Microsoft.SqlServer.Management.Smo 程序集來完成此任務。

實作

以下 C# 程式碼提供了完整的實作:

<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>
登入後複製

代碼說明

  1. 命名空間:程式碼匯入 SQL Server 互動和檔案 I/O 所需的命名空間。
  2. 連線字串: 定義連線字串來指定 SQL Server 執行個體和資料庫。 請記住將其替換為您的實際連接字串。
  3. 腳本路徑: 指定 .SQL 腳本檔案的路徑。 將其替換為正確的路徑。
  4. 連線與伺服器物件: 建立並開啟 SqlConnection,然後實例化 Server 物件來表示資料庫伺服器。 using 語句確保連線正確關閉。
  5. 腳本讀取: File.ReadAllText將整個SQL腳本讀取為字串。
  6. 腳本執行: server.ConnectionContext.ExecuteNonQuery 執行 SQL 腳本。 此方法處理腳本檔案中的多個 SQL 語句。
  7. 錯誤處理: try-catch 區塊處理腳本執行期間潛在的異常。

此方法提供了一種在 C# 應用程式中執行 SQL 腳本的強大方法,可以有效管理多個語句和換行符。 請記住調整連接字串和腳本路徑以符合您的環境。

以上是如何使用 C# 執行 .SQL 腳本檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板