Aracılığıyla paylaş


SQL Server için C# için Microsoft Genişletilebilirlik SDK'sı

Şunlar için geçerlidir: SQL Server 2019 (15.x) ve sonraki sürümleri

.NET için Microsoft Genişletilebilirlik SDK'sını kullanarak SQL Server için C# programını nasıl uygulayabileceğinizi öğrenin. SDK, SQL Server ile veri alışverişi yapmak ve SQL Server'dan C# kodu yürütmek için kullanılan .NET dil uzantısına yönelik bir arabirimdir.

Kod açık kaynaktır ve SQL Server Dil Uzantıları GitHub deposunda bulunabilir.

Uygulama gereksinimleri

SDK arabirimi, SQL Server'ın .NET çalışma zamanıyla iletişim kurması için yerine getirilmesi gereken bir dizi gereksinim tanımlar. SDK'yı kullanmak için ana sınıfınızdaki bazı uygulama kurallarını izlemeniz gerekir. SQL Server daha sonra C# dilinde belirli bir yöntemi yürütebilir ve .NET dil uzantısını kullanarak veri alışverişi yapabilir.

SDK'yı nasıl kullanabileceğinize ilişkin bir örnek için bkz . Öğretici: C# dilinde normal ifadeleri (regex) kullanarak dize arama.

SDK sınıfları

SDK birkaç sınıftan oluşur.

  • Soyut sınıfı AbstractSqlServerExtensionExecutor , .NET uzantısının SQL Server ile veri alışverişi yapmak için kullandığı arabirimi tanımlar.

  • Çeşitli yardımcı sınıflar veri kümesi nesnesini uygular CSharpDataSet .

Aşağıdaki bölümde, SDK'daki her sınıfın açıklamalarını bulabilirsiniz. SDK sınıflarının kaynak kodu SQL Server Dil Uzantıları GitHub deposunda bulunur.

Sınıfı: AbstractSqlServerExtensionExecutor

Soyut sınıfı AbstractSqlServerExtensionExecutor , SQL Server için .NET dil uzantısı tarafından C# kodu yürütmek için kullanılan arabirimi içerir.

Ana C# sınıfınızın bu sınıftan devralması gerekir. Bu sınıftan devralmak, kendi sınıfınızda uygulamanız gereken belirli yöntemler olduğu anlamına gelir.

Bu soyut sınıftan devralmak için, sınıfınızın adı olan MyClass sınıf bildiriminde soyut sınıf adıyla genişletirsiniz:

public class MyClass : AbstractSqlServerExtensionExecutor {}

Ana sınıfınızın en azından Execute(...) yöntemini uygulaması gerekir.

Execute yöntemi

Execute yöntemi, SQL Server'dan C# kodunu çağırmak için .NET dil uzantısı aracılığıyla SQL Server'dan çağrılan yöntemdir. SQL Server'dan yürütmek istediğiniz ana işlemleri dahil ettiğiniz önemli bir yöntemdir.

SQL Server'dan C# bağımsız değişkenlerini yönteme geçirmek için sp_execute_external_script içindeki @param parametresini kullanın. Bu yöntem Execute argümanlarını bu şekilde kabul eder.

public abstract DataFrame Execute(DataFrame input, Dictionary<string, dynamic> sqlParams);

Init yöntemi

Init yöntemi oluşturucudan sonra ve yönteminden Execute önce yürütülür. Daha önce Execute gerçekleştirilmesi gereken tüm işlemler bu yöntemde yapılabilir.

public virtual void Init(string sessionId, int taskId, int numTasks);

Sınıfı: CSharpExtension

sınıfı CSharpExtension tüm dil uzantıları API'lerini uygular ve sonuçları yerel konağa döndürür.

Sınıfı: CSharpDataSet

soyut sınıfı CSharpDataSet , .NET uzantısı tarafından kullanılan giriş ve çıkış verilerini işleme arabirimini içerir.