使用 C# 中的 GO 指令高效執行大型 SQL 腳本
資料庫管理通常涉及執行包含 GO
命令的 SQL 腳本來分隔批次。 處理這些腳本時直接使用 SqlCommand.ExecuteNonQuery()
會帶來挑戰。
利用 SQL Server 管理物件 (SMO)
穩健的方法利用 SQL Server 管理物件 (SMO)。 SMO 本質上處理 GO
分隔符,簡化了腳本執行。 SMO 中的 ServerContext
類別為此提供了一種簡單的方法。
這是使用 SMO 的範例:
<code class="language-csharp">using Microsoft.SqlServer.Management.Common; using Microsoft.SqlServer.Management.Smo; // Establish a connection to the SQL Server instance using (SqlConnection connection = new SqlConnection(sqlConnectionString)) { // Create a Server object Server server = new Server(new ServerConnection(connection)); // Execute the SQL script server.ConnectionContext.ExecuteNonQuery(script); }</code>
替代方案:Haacked 的圖書館
如果 SMO 不可行,Phil Haack 的函式庫提供了管理 GO
語句的替代方法:
<code class="language-csharp">using Haacked.Sql; // Execute the script using Haacked's library BatchScript.Run(sqlConnectionString, script);</code>
總結
SMO 或 Haack 的函式庫提供了高效可靠的方法來執行包含 C# 中的 GO
指令的大型 SQL 腳本,消除了手動批次分離的複雜性。 選擇最適合您專案的依賴關係和要求的方法。
以上是如何在 C# 中使用 GO 指令執行大型 SQL 腳本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!