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 語句,並為您的 SQL 腳本需求提供更簡潔、更強大的解決方案。
以上是如何從 C# 可靠地執行多行 .SQL 腳本檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!