Menjalankan Skrip SQL Besar dengan cekap dengan Perintah GO dalam C#
Pengurusan pangkalan data selalunya melibatkan pelaksanaan skrip SQL yang mengandungi perintah GO
untuk memisahkan kelompok. Menggunakan SqlCommand.ExecuteNonQuery()
secara langsung memberikan cabaran apabila berurusan dengan skrip ini.
Memanfaatkan Objek Pengurusan Pelayan SQL (SMO)
Pendekatan yang mantap menggunakan Objek Pengurusan SQL Server (SMO). SMO sememangnya mengendalikan GO
pemisah, memudahkan pelaksanaan skrip. Kelas ServerContext
dalam SMO menyediakan kaedah mudah untuk tujuan ini.
Berikut ialah contoh menggunakan 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>
Penyelesaian Alternatif: Perpustakaan Digodam
Jika SMO tidak dapat dilaksanakan, perpustakaan Phil Haack menawarkan alternatif untuk menguruskan GO
kenyataan:
<code class="language-csharp">using Haacked.Sql; // Execute the script using Haacked's library BatchScript.Run(sqlConnectionString, script);</code>
Ringkasan
Pustaka SMO atau Haack menyediakan kaedah yang cekap dan boleh dipercayai untuk melaksanakan skrip SQL besar yang mengandungi perintah GO
dalam C#, menghapuskan kerumitan pemisahan kelompok manual. Pilih kaedah yang paling sesuai dengan kebergantungan dan keperluan projek anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Skrip SQL Besar dengan Perintah GO dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!