首頁 > 後端開發 > C++ > 如何在C#中高效率執行多行SQL腳本檔案?

如何在C#中高效率執行多行SQL腳本檔案?

Patricia Arquette
發布: 2025-01-18 14:51:09
原創
465 人瀏覽過

How Can I Efficiently Execute Multi-Line SQL Script Files in C#?

使用C#執行.SQL腳本檔

在C#中,執行.SQL腳本檔案需要特別的考慮。這個問題討論了運行此類文件(可能包含跨多行的斷句語句)的難度。

挑戰與解決方法

嘗試使用ODP.NET的ExecuteNonQuery執行腳本被證明是無效的。產生一個進程來呼叫sqlplus在掛起和輸出重定向方面遇到了問題。

使用Microsoft SQL Server Management Objects (SMO)的解決方案

此處提供的解決方案利用SMO,這是一個用於管理和設定SQL Server的託管程式碼API。下面是一個示範此方法的程式碼片段:

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

在此方法中:

  • SMO使用與目標資料庫的連線進行初始化。
  • 腳本從檔案中讀取並傳遞給SMO以執行。
  • ExecuteNonQuery用於在SQL Server執行個體上執行腳本。

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

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