Aracılığıyla paylaş


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

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

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

SDK, SQL Server 2019 (15.x) ve sonraki sürümlerin bir parçası olarak hem Windows hem de Linux'a yüklenir:

  • Windows'ta varsayılan yükleme yolu: <instance installation home directory>\MSSQL\Binn\mssql-java-lang-extension.jar
  • Linux'ta varsayılan yükleme yolu: /opt/mssql/lib/mssql-java-lang-extension.jar

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

Uygulama gereksinimleri

SDK arabirimi, SQL Server'ın Java ç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 Java sınıfında belirli bir yöntemi yürütebilir ve Java dil uzantısını kullanarak veri alışverişi yapabilir.

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

SDK Sınıfları

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

Java uzantısının SQL Server ile veri alışverişi yapmak için kullandığı arabirimi tanımlayan iki soyut sınıf:

  • AbstractSqlServerExtensionExecutor
  • AbstractSqlServerExtensionDataset

Üçüncü sınıf, bir veri kümesi nesnesinin uygulamasını içeren bir yardımcı sınıfıdır. Kullanıcılar için kullanımı kolaylaştıran isteğe bağlı bir sınıftır. Bunun yerine kendi uygulamanızı da kullanabilirsiniz.

  • PrimitiveDataset

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 Java dil uzantısı tarafından Java kodu yürütmek için kullanılan arabirimi içerir.

Ana Java 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 bildiriminde soyut sınıf adıyla genişletirsiniz:

public class <MyClass> extends AbstractSqlServerExtensionExecutor {}

En azından ana sınıfınızın execute(...) yöntemini uygulaması gerekir.

Metod Çalıştır

Yürütme yöntemi, SQL Server'dan Java kodu çağırmak için Java 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 Java'ya yöntem bağımsız değişkenlerini geçirmek için içindeki @paramparametresini sp_execute_external_script kullanın. execute yöntemi bağımsız değişkenlerini bu şekilde alır.

public AbstractSqlServerExtensionDataset execute(AbstractSqlServerExtensionDataset input, LinkedHashMap<String, Object> params)  {}

Metot init

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

public void init(String sessionId, int taskId, int numtask) {}

Sınıf: AbstractSqlServerExtensionDataset

Soyut sınıfı AbstractSqlServerExtensionDataset , Java uzantısı tarafından kullanılan giriş ve çıkış verilerini işleme arabirimini içerir.

Sınıf: PrimitiveDataset

sınıfı PrimitiveDataset , basit türleri ilkel diziler olarak depolayan bir uygulamasıdır AbstractSqlServerExtensionDataset .

PrimitiveDataset sdk'da isteğe bağlı bir yardımcı sınıfı olarak sağlanır. Bu sınıfı kullanmıyorsanız, AbstractSqlServerExtensionDataset sınıfından devralan kendi sınıfınızı uygulamanız gerekir.