Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server 2019 (15.x) dan versi yang lebih baru
Pelajari bagaimana Anda dapat menerapkan program C# untuk SQL Server menggunakan Microsoft Extensibility SDK untuk .NET. SDK adalah antarmuka untuk ekstensi bahasa .NET yang digunakan untuk bertukar data dengan SQL Server dan untuk menjalankan kode C# dari SQL Server.
Kode ini sumber terbuka dan dapat ditemukan di repositori GitHub Ekstensi Bahasa SQL Server.
Persyaratan implementasi
Antarmuka SDK mendefinisikan serangkaian persyaratan yang perlu dipenuhi agar SQL Server dapat berkomunikasi dengan runtime .NET. Untuk menggunakan SDK, Anda perlu mengikuti beberapa aturan implementasi di kelas utama Anda. SQL Server kemudian dapat menjalankan metode tertentu di C# dan bertukar data menggunakan ekstensi bahasa .NET.
Untuk contoh bagaimana Anda dapat menggunakan SDK, lihat Tutorial: Mencari string menggunakan ekspresi reguler (regex) di C#.
Kelas SDK
SDK terdiri dari beberapa kelas.
Kelas abstrak
AbstractSqlServerExtensionExecutormenentukan antarmuka yang digunakan ekstensi .NET untuk bertukar data dengan SQL Server.Beberapa kelas pembantu mengimplementasikan objek himpunan
CSharpDataSetdata.
Di bagian berikut, Anda menemukan deskripsi setiap kelas di SDK. Kode sumber kelas SDK tersedia di repositori GitHub Ekstensi Bahasa SQL Server.
Kelas: AbstractSqlServerExtensionExecutor
Kelas abstrak AbstractSqlServerExtensionExecutor berisi antarmuka yang digunakan untuk menjalankan kode C# oleh ekstensi bahasa .NET untuk SQL Server.
Kelas C# utama Anda perlu mewarisi dari kelas ini. Mewarisi dari kelas ini berarti bahwa ada metode tertentu di kelas yang perlu Anda terapkan di kelas Anda sendiri.
Untuk mewarisi dari kelas abstrak ini, Anda perluas dengan nama kelas abstrak dalam deklarasi kelas, di mana MyClass adalah nama kelas Anda:
public class MyClass : AbstractSqlServerExtensionExecutor {}
Minimal, kelas utama Anda perlu menerapkan metode .Execute(...)
Metode Execute
Metode Execute ini adalah metode yang dipanggil dari SQL Server melalui ekstensi bahasa .NET, untuk memanggil kode C# dari SQL Server. Ini adalah metode utama di mana Anda menyertakan operasi utama yang ingin Anda jalankan dari SQL Server.
Untuk meneruskan argumen metode ke C# dari SQL Server, gunakan @param parameter di sp_execute_external_script. Metode ini Execute mengambil argumennya seperti itu.
public abstract DataFrame Execute(DataFrame input, Dictionary<string, dynamic> sqlParams);
Metode Init
Metode Init ini dijalankan setelah konstruktor, dan sebelum Execute metode . Setiap operasi yang perlu dilakukan sebelumnya Execute dapat dilakukan dalam metode ini.
public virtual void Init(string sessionId, int taskId, int numTasks);
Kelas: CSharpExtension
CSharpExtension Kelas mengimplementasikan semua API ekstensi bahasa dan mengembalikan hasil ke host asli.
Kelas: CSharpDataSet
Kelas abstrak CSharpDataSet berisi antarmuka untuk menangani data input dan output yang digunakan oleh ekstensi .NET.