Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ş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:
AbstractSqlServerExtensionExecutorAbstractSqlServerExtensionDataset
Üçü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.