Microsoft Extensibility SDK per Java per SQL Server
Si applica a: SQL Server 2019 (15.x) e versioni successive
Informazioni su come implementare un programma Java per SQL Server usando Microsoft Extensibility SDK per Java. L'SDK è un'interfaccia per l'estensione del linguaggio Java utilizzabile per scambiare dati con SQL Server ed eseguire codice Java da SQL Server.
L'SDK viene installato come parte di SQL Server 2019 (15.x) e versioni successive, sia in Windows che in Linux:
- Percorso di installazione predefinito in Windows:
<instance installation home directory>\MSSQL\Binn\mssql-java-lang-extension.jar
- Percorso di installazione predefinito in Linux:
/opt/mssql/lib/mssql-java-lang-extension.jar
Il codice è open source ed è disponibile nel repository GitHub delle estensioni del linguaggio di SQL Server.
Requisiti di implementazione
L'interfaccia dell'SDK definisce un set di requisiti che devono essere soddisfatti affinché SQL Server sia in grado di comunicare con il runtime Java. Per usare l'SDK, è necessario seguire alcune regole di implementazione nella classe principale. SQL Server può quindi eseguire un metodo specifico nella classe Java e scambiare i dati usando l'estensione del linguaggio Java.
Per un esempio di come usare l'SDK, vedi Esercitazione: cercare una stringa usando espressioni regolari (regex) in Java.
Classi SDK
L'SDK è costituito da tre classi.
Due classi astratte definiscono l'interfaccia usata dall'estensione Java per scambiare dati con SQL Server:
AbstractSqlServerExtensionExecutor
AbstractSqlServerExtensionDataset
La terza è una classe helper contenente un'implementazione di un oggetto set di dati. Si tratta di una classe facoltativa che è possibile usare, che semplifica l'avvio. È anche possibile usare un'implementazione personalizzata di tale classe.
PrimitiveDataset
Nella sezione seguente sono disponibili descrizioni di ogni classe nell'SDK. Il codice sorgente delle classi SDK è disponibile nel repository GitHub delle estensioni del linguaggio di SQL Server.
Classe: AbstractSqlServerExtensionExecutor
La classe AbstractSqlServerExtensionExecutor
astratta contiene l'interfaccia usata per eseguire codice Java dall'estensione del linguaggio Java per SQL Server.
La classe Java principale deve ereditare da questa classe. Ereditare da questa classe significa che esistono alcuni metodi della classe che è necessario implementare nella propria classe.
Per ereditare da questa classe astratta, si estende con il nome della classe astratta nella dichiarazione della classe:
public class <MyClass> extends AbstractSqlServerExtensionExecutor {}
La classe principale deve implementare almeno il metodo execute(...).
Metodo execute
Il metodo execute è il metodo chiamato da SQL Server tramite l'estensione del linguaggio Java per richiamare il codice Java da SQL Server. Si tratta di un metodo chiave in cui si includono le operazioni principali da eseguire da SQL Server.
Per passare gli argomenti del metodo a Java da SQL Server, usare il parametro @param
in sp_execute_external_script
. Il metodo execute
accetta gli argomenti in questo modo.
public AbstractSqlServerExtensionDataset execute(AbstractSqlServerExtensionDataset input, LinkedHashMap<String, Object> params) {}
Metodo init
Il metodo init viene eseguito dopo il costruttore e prima del metodo execute . Tutte le operazioni che devono essere eseguite prima execute(...)
di poter essere eseguite in questo metodo.
public void init(String sessionId, int taskId, int numtask) {}
Classe: AbstractSqlServerExtensionDataset
La classe AbstractSqlServerExtensionDataset
astratta contiene l'interfaccia per la gestione dei dati di input e output usati dall'estensione Java.
Classe: PrimitiveDataset
La classe PrimitiveDataset
è un'implementazione di AbstractSqlServerExtensionDataset
che archivia i tipi semplici come matrici primitive.
PrimitiveDataset
viene fornito nell'SDK come classe helper facoltativa. Se non si usa questa classe, è necessario implementare la propria classe che eredita da AbstractSqlServerExtensionDataset
.
Contenuto correlato
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per