首頁 > 資料庫 > mysql教程 > 如何使用 C# 執行 .SQL 腳本檔案?

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

Linda Hamilton
發布: 2025-01-17 09:56:10
原創
369 人瀏覽過

How Can I Execute an .SQL Script File Using C#?

使用C#執行.SQL腳本檔

本文介紹幾種在C#中執行.SQL檔案的方法,建議使用Microsoft的SQL Server Management Objects (SMO)。

使用SMO的實作:

  1. 匯入以下命名空間:

    <code class="language-csharp">using Microsoft.SqlServer.Management.Smo;
    using Microsoft.SqlServer.Management.Common;</code>
    登入後複製
  2. 建立與SQL Server資料庫的連線:

    <code class="language-csharp">string sqlConnectionString = @"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=YourDatabaseName;Data Source=YourSQLServerName";
    SqlConnection conn = new SqlConnection(sqlConnectionString);</code>
    登入後複製
  3. 建立一個Server物件來表示SQL Server:

    <code class="language-csharp">Server server = new Server(new ServerConnection(conn));</code>
    登入後複製
  4. 執行.SQL腳本:

    <code class="language-csharp">string script = File.ReadAllText(@"Path\To\Your.sql");
    server.ConnectionContext.ExecuteNonQuery(script);</code>
    登入後複製

程式碼範例:

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

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=YourDatabaseName;Data Source=YourSQLServerName";
        string script = File.ReadAllText(@"Path\To\Your.sql");

        SqlConnection conn = new SqlConnection(sqlConnectionString);
        Server server = new Server(new ServerConnection(conn));
        server.ConnectionContext.ExecuteNonQuery(script);
    }
}</code>
登入後複製

注意:

  • 確保.SQL檔案格式正確,並包含有效的SQL語句。
  • 要捕捉執行輸出,可以使用server.ConnectionContext.ExecuteWithResults(script)來取代ExecuteNonQuery

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

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