使用C#執行.SQL腳本檔
本程式設計場景的目標是執行包含多個SQL語句的SQL腳本文件,其中包含跨越多行的語句。雖然您嘗試過ODP.NET和透過進程產生SQLplus等方法,但在執行和輸出擷取方面遇到了困難。以下是如何使用C#解決您的問題的方案:
為了有效地使用C#執行.SQL腳本文件,請考慮以下改進方法:
使用連接字串建立資料庫連接,該連接字串指定伺服器名稱、資料庫名稱和驗證憑證。
將.SQL腳本檔案的內容讀取到一個字串變數中。這允許您一次讀取文件並將內容儲存起來以供以後使用。
透過提供連接物件作為參數來實例化Server物件。這將會建立一個您想要使用的SQL Server執行個體的表示。
使用Server物件的ConnectionContext屬性建立命令物件。然後,透過將SQL字串傳遞給命令物件的ExecuteNonQuery方法來執行腳本。這將按順序執行腳本中的所有語句。
腳本執行完成後,關閉資料庫連線以釋放資源。
以下是一個示範上述方法的程式碼片段:
<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中文網其他相關文章!