首頁 > 後端開發 > C++ > 如何從 C# 可靠地執行多行 .SQL 腳本檔案?

如何從 C# 可靠地執行多行 .SQL 腳本檔案?

Barbara Streisand
發布: 2025-01-18 15:02:09
原創
589 人瀏覽過

How Can I Reliably Execute Multi-Line .SQL Script Files from C#?

C# 中可靠執行多行 .SQL 腳本檔

在 C# 中執行 SQL 腳本對於自動化資料庫操作和管理資料庫物件非常有用。本文將探討執行包含多個 SQL 語句的 .SQL 檔案的解決方案,並解決在此過程中出現的一些挑戰。

文中提供的程式碼嘗試使用 ODP.NET 和 Process 物件執行 SQL 文件,但 ExecuteNonQuery 方法通常無法正確處理多行 SQL 語句,並且在使用 UseShellExecute 時,WaitForExit 方法可能會暫停。

然而,使用 C# 中的 Microsoft.SqlServer.Management.Smo 命名空間可以實現更可靠、更完整的解決方案。以下是一個改進的程式碼片段:

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

此程式碼中:

  • 我們首先使用連接字串建立與 SQL Server 資料庫的連線。
  • 然後,我們將 SQL 腳本檔案讀取到一個字串中。
  • 使用 Server 和 ServerConnection 類,我們建立與 SQL Server 的連線。
  • 最後,我們使用 ServerConnection 物件上的 ExecuteNonQuery 方法執行 SQL 腳本。

這種方法應該能夠成功地從腳本檔案執行多行 SQL 語句,並為您的 SQL 腳本需求提供更簡潔、更強大的解決方案。

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

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