首頁 >資料庫 >mysql教程 >如何使用 C# 執行包含多個語句的 SQL 腳本檔案?

如何使用 C# 執行包含多個語句的 SQL 腳本檔案?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-17 10:07:08426瀏覽

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

使用C#執行.SQL腳本檔

本程式設計場景的目標是執行包含多個SQL語句的SQL腳本文件,其中包含跨越多行的語句。雖然您嘗試過ODP.NET和透過進程產生SQLplus等方法,但在執行和輸出擷取方面遇到了困難。以下是如何使用C#解決您的問題的方案:

為了有效地使用C#執行.SQL腳本文件,請考慮以下改進方法:

  1. 建立資料庫連線:

使用連接字串建立資料庫連接,該連接字串指定伺服器名稱、資料庫名稱和驗證憑證。

  1. 讀取腳本檔案內容:

將.SQL腳本檔案的內容讀取到一個字串變數中。這允許您一次讀取文件並將內容儲存起來以供以後使用。

  1. 建立伺服器實例:

透過提供連接物件作為參數來實例化Server物件。這將會建立一個您想要使用的SQL Server執行個體的表示。

  1. 執行腳本:

使用Server物件的ConnectionContext屬性建立命令物件。然後,透過將SQL字串傳遞給命令物件的ExecuteNonQuery方法來執行腳本。這將按順序執行腳本中的所有語句。

  1. 關閉連線:

腳本執行完成後,關閉資料庫連線以釋放資源。

以下是一個示範上述方法的程式碼片段:

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

透過遵循這些步驟,您可以使用C#以程式設計方式執行.SQL腳本文件,確保所有語句的正確執行和準確的結果。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn