Erweiterbarkeitsframework-API für SQL Server

Gilt für: SQL Server 2019 (15.x) und höhere Versionen

Sie können das Erweiterbarkeitsframework verwenden, um Programmiersprachenerweiterungen für SQL Server zu schreiben. Die Extensibility Framework-API für SQL Server ist eine API, die von einer Spracherweiterung verwendet werden kann, um mit SQL Server zu interagieren und Daten auszutauschen.

Als Ersteller einer Programmiersprachenerweiterung können Sie diese Referenz und die Open-Source-Programmiersprachenerweiterungen verwenden, um ein Verständnis dafür zu erwerben, wie Sie die API zum Schreiben eigener Programmiersprachenerweiterungen verwenden können. Den Quellcode für die Programmiersprachenerweiterungen finden Sie unter aka.ms/mssql-lang-extensions.

Die Informationen zu Syntax und Argumenten zu allen API-Funktionen finden Sie in diesem Artikel.

Rückgabewert

Alle Funktionen geben einen SQLRETURN Parameter zurück. Wenn der Wert etwas anderes SQL_SUCCESSals ist, wird der Wert als Fehler behandelt, und die Ausführung des Skripts wird beendet.

Standardausgabe

Jede Ausgabe der Erweiterung an die Standardausgabe- oder Fehlerdatenströme wird in die Protokolldatei der Sitzung nachverfolgt und schließlich auf SQL Server zurückverfolgt. Dies ähnelt allen Elementen, die auf der Registerkarte "SQL Server Management Studio(SSMS)"-Nachrichten angezeigt werden.

Init

Diese Funktion wird nur einmal aufgerufen und zum Initialisieren der Laufzeit für die Ausführung verwendet.

Syntax

SQLRETURN Init(
    SQLCHAR *ExtensionParams,
    SQLULEN ExtensionParamsLength,
    SQLCHAR *ExtensionPath,
    SQLULEN ExtensionPathLength,
    SQLCHAR *PublicLibraryPath,
    SQLULEN PublicLibraryPathLength,
    SQLCHAR *PrivateLibraryPath,
    SQLULEN PrivateLibraryPathLength
);

Argumente

Argument Eingabe/Ausgabe Beschreibung
ExtensionParams Eingabe Null-terminierte Zeichenkette mit PARAMETERS dem während oder angegebenen Wert CREATE EXTERNAL LANGUAGEALTER EXTERNAL LANGUAGE
ExtensionParamsLength Eingabe Länge in Bytes von ExtensionParams (mit Ausnahme des Null-Beendigungszeichens)
ExtensionPath Eingabe UTF-8-Zeichenfolge, die den absoluten Pfad zum Installationsverzeichnis der Erweiterung enthält
ExtensionPathLength Eingabe Länge in Bytes von ExtensionPath (mit Ausnahme des Null-Beendigungszeichens)
PublicLibraryPath Eingabe UTF-8-Zeichenfolge, die den absoluten Pfad zum Verzeichnis der öffentlichen externen Bibliotheken für diese externe Sprache enthält
PublicLibraryPathLength Eingabe Länge in Bytes von PublicLibraryPath (mit Ausnahme des Null-Beendigungszeichens)
PrivateLibraryPath Eingabe UTF-8-Zeichenfolge mit Null beendet, die den absoluten Pfad zum Verzeichnis für private externe Bibliotheken für diesen Benutzer und diese externe Sprache enthält
PrivateLibraryPathLength Eingabe Länge in Bytes von PrivateLibraryPath (mit Ausnahme des Null-Beendigungszeichens)

InitSession

Diese Funktion wird einmal pro Sitzung aufgerufen und initialisiert sitzungsspezifische Einstellungen.

Syntax

SQLRETURN InitSession(
    SQLGUID         SessionId,
    SQLUSMALLINT    TaskId,
    SQLCHAR*        Script,
    SQLULEN         ScriptLength,
    SQLUSMALLINT    InputSchemaColumnsNumber,
    SQLUSMALLINT    ParametersNumber
    SQLCHAR*        InputDataName,
    SQLUSMALLINT    InputDataNameLength,
    SQLCHAR*        OutputDataName,
    SQLUSMALLINT    OutputDataNameLength
);

Argumente

Argument Eingabe/Ausgabe Beschreibung
SessionId Eingabe GUID, die diese Skriptsitzung eindeutig identifiziert
TaskId Eingabe Eine ganze Zahl, die diesen Ausführungsprozess eindeutig identifiziert.

@parallel In 1 sp_execute_external_script liegt dieser Wert zwischen 0 dem Grad der Parallelität der Abfrage.
Script Eingabe UTF-8-Zeichenfolge, die den @script in sp_execute_external_script
ScriptLength Eingabe Länge in Bytes von ScriptScript (mit Ausnahme des Null-Beendigungszeichens)
InputSchemaColumnsNumber Eingabe Anzahl der Spalten im Resultset aus @input_data_1 sp_execute_external_script
ParametersNumber Eingabe Anzahl der Eingabeparameter aus @params sp_execute_external_script
InputDataName Eingabe UTF-8-Zeichenfolge, die den @input_data_1_name in sp_execute_external_script
InputDataNameLength Eingabe Länge in Bytes von InputDataName (mit Ausnahme des Null-Beendigungszeichens)
OutputDataName Eingabe UTF-8-Zeichenfolge, die den @output_data_1_name in sp_execute_external_script
OutputDataNameLength Eingabe Länge in Bytes von OutputDataName (mit Ausnahme des Null-Beendigungszeichens)

InitColumn

Initialisieren Sie die Informationen für eine bestimmte Spalte für eine bestimmte Sitzung.

Diese Funktion wird für jede Spalte im Resultset aus @input_data_1 in sp_execute_external_script aufgerufen.

Die Spaltenstruktur dieses Resultsets wird als Eingabeschema bezeichnet.

Syntax

SQLRETURN InitColumn(
    SQLGUID       SessionId,
    SQLUSMALLINT  TaskId,
    SQLUSMALLINT  ColumnNumber,
    SQLCHAR*      ColumnName,
    SQLSMALLINT   ColumnNameLength,
    SQLSMALLINT   DataType,
    SQLULEN       ColumnSize,
    SQLSMALLINT   DecimalDigits,
    SQLSMALLINT   Nullable,
    SQLSMALLINT   PartitionByNumber,
    SQLSMALLINT   OrderByNumber
);

Argumente

Argument Eingabe/Ausgabe Beschreibung
SessionId Eingabe GUID, die diese Skriptsitzung eindeutig identifiziert
TaskId Eingabe Eine ganze Zahl, die diesen Ausführungsprozess eindeutig identifiziert.

@parallel In 1 sp_execute_external_script liegt dieser Wert zwischen 0 dem Grad der Parallelität der Abfrage.
ColumnNumber Eingabe Eine ganze Zahl, die den Index dieser Spalte im Eingabeschema identifiziert. Spalten werden sequenziell in erhöhter Reihenfolge nummeriert, beginnend bei 0
ColumnName Eingabe UTF-8-Zeichenfolge mit Null-Gekündigt, die den Namen der Spalte enthält
ColumnNameLength Eingabe Länge in Bytes von ColumnName (mit Ausnahme des Null-Beendigungszeichens)
Data type Eingabe Der ODBC-C-Typ, der den Datentyp dieser Spalte identifiziert
ColumnSize Eingabe Die maximale Größe in Byte der zugrunde liegenden Daten in dieser Spalte.

Für SQL_C_CHARund SQL_C_WCHARSQL_C_BINARY Datentypen geben Werte, die größer als 8.000 sind, diese Spalte ein LOB-Objekt mit einer Größe von bis zu 2 GB.
DecimalDigits Eingabe Die Dezimalziffern der zugrunde liegenden Daten in dieser Spalte, wie durch Dezimalziffern definiert
Nullable Eingabe Ein Wert, der angibt, ob diese Spalte Werte enthalten NULL kann. Mögliche Werte:

- SQL_NO_NULLS: Die Spalte darf keine Werte enthalten NULL .
- SQL_NULLABLE: Die Spalte kann Werte enthalten NULL .
PartitionByNumber Eingabe Ein Wert, der den Index dieser Spalte in der @input_data_1_partition_by_columns Sequenz in sp_execute_external_script angibt. Spalten werden sequenziell in zunehmender Reihenfolge nummeriert, beginnend bei 0. Wenn diese Spalte nicht in der Sequenz enthalten ist, lautet der Wert -1.
OrderByNumber Eingabe Ein Wert, der den Index dieser Spalte in der @input_data_1_order_by_columns Sequenz in sp_execute_external_script angibt. Spalten werden sequenziell in zunehmender Reihenfolge nummeriert, beginnend bei 0. Wenn diese Spalte nicht in der Sequenz enthalten ist, lautet der Wert -1.

InitParam

Initialisieren Sie die Informationen zu einem angegebenen Eingabeparameter für eine bestimmte Sitzung.

Diese Funktion wird für jeden Parameter aus @params in sp_execute_external_script aufgerufen.

Syntax

SQLRETURN InitParam(
    SQLGUID      SessionId,
    SQLUSMALLINT TaskId,
    SQLUSMALLINT ParamNumber,
    SQLCHAR*     ParamName,
    SQLSMALLINT  ParamNameLength,
    SQLSMALLINT  DataType,
    SQLULEN      ParamSize,
    SQLSMALLINT  DecimalDigits,
    SQLPOINTER   ParamValue,
    SQLINTEGER   StrLen_or_Ind,
    SQLSMALLINT  InputOutputType
);

Argumente

Argument Eingabe/Ausgabe Beschreibung
SessionId Eingabe GUID, die diese Skriptsitzung eindeutig identifiziert
TaskId Eingabe Eine ganze Zahl, die diesen Ausführungsprozess eindeutig identifiziert.

@parallel In 1 sp_execute_external_script liegt dieser Wert zwischen 0 dem Grad der Parallelität der Abfrage.
ParamNumber Eingabe Eine ganze Zahl, die den Index dieses Parameters angibt. Parameter werden sequenziell in erhöhter Reihenfolge nummeriert, beginnend bei 0
ParamName Eingabe UTF-8-Zeichenfolge mit Null-Gekündigt, die den Namen des Parameters enthält
ParamNameLength Eingabe Länge in Bytes von ParamName (mit Ausnahme des Null-Beendigungszeichens)
Data type Eingabe Der ODBC-C-Typ, der den Datentyp dieses Parameters identifiziert
ParamSize Eingabe Die maximale Größe in Byte der zugrunde liegenden Daten in diesem Parameter.

Für SQL_C_CHARDatentypen SQL_C_WCHAR und SQL_C_BINARY Datentypen geben Werte, die größer als 8000 sind, diesen Parameter als LOBs-Objekt und mit einer Größe von bis zu 2 GB an.
DecimalDigits Eingabe Die Dezimalziffern der zugrunde liegenden Daten in diesem Parameter, wie durch Dezimalziffern definiert
ParamValue Eingabe Ein Zeiger auf einen Puffer, der den Wert des Parameters enthält
StrLen_or_Ind Eingabe Ein ganzzahliger Wert, der die Länge in Bytes angibt ParamValue, oder SQL_NULL_DATA um anzugeben, dass die Daten sind NULL.

StrLen_or_Ind[col] kann ignoriert werden, wenn eine Spalte nicht nullfähig ist und keinen der folgenden Datentypen darstellt: SQL_C_CHAR, SQL_C_WCHAR und , und SQL_C_BINARY, SQL_C_NUMERIC oder SQL_C_TYPE_TIMESTAMP. Andernfalls verweist es auf ein gültiges Array mit RowsNumber Elementen, wobei jedes Element seine Längen- oder NULL-Indikatordaten enthält.
InputOutputType Eingabe Der Typ des -Parameters. Das InputOutputType Argument ist einer der folgenden Werte:

- SQL_PARAM_INPUT
- SQL_PARAM_INPUT_OUTPUT

Execute

Führen Sie das @script in sp_execute_external_script aus.

Diese Funktion kann mehrmals aufgerufen werden. einmal pro Steam-Block und pro Partition in @input_data_1_partition_by_columns in sp_execute_external_script.

Syntax

SQLRETURN Execute(
    SQLGUID         SessionId,
    SQLUSMALLINT    TaskId,
    SQLULEN         RowsNumber,
    SQLPOINTER*     Data,
    SQLINTEGER**    StrLen_or_Ind,
    SQLUSMALLINT*   OutputSchemaColumnsNumber
);

Argumente

Argument Eingabe/Ausgabe Beschreibung
SessionId Eingabe GUID, die diese Skriptsitzung eindeutig identifiziert
TaskId Eingabe Eine ganze Zahl, die diesen Ausführungsprozess eindeutig identifiziert.

@parallel In 1 sp_execute_external_script liegt dieser Wert zwischen 0 dem Grad der Parallelität der Abfrage.
RowsNumber Eingabe Die Anzahl der Zeilen in der Data
Data Eingabe Ein zweidimensionales Array, das den Resultset @input_data_1 in sp_execute_external_script enthält.

Die Gesamtanzahl der Spalten ist InputSchemaColumnsNumber , die im InitSession-Aufruf empfangen wurde. Jede Spalte enthält RowsNumber Elemente, die gemäß dem Spaltentyp von InitColumn interpretiert werden sollen.
Elemente, die angegeben sind NULLStrLen_or_Ind , sind nicht garantiert gültig und sollten ignoriert werden.
StrLen_or_Ind Eingabe Ein zweidimensionales Array, das den Längen-/NULL-Indikator für jeden Wert in Dataenthält. Mögliche Werte für jede Zelle:

- n, wobei n > 0. Dieser Wert gibt die Länge der Daten in Bytes an.
- SQL_NULL_DATA, der einen NULL Wert angibt.
Die Gesamtanzahl der Spalten ist InputSchemaColumnsNumber , die im InitSession-Aufruf empfangen wurde. Jede Spalte enthält RowsNumber Elemente, die gemäß dem Spaltentyp von InitColumn interpretiert werden sollen.
StrLen_or_Ind[col]kann ignoriert werden, wenn eine Spalte nicht nullfähig ist und keinen der folgenden Datentypen darstellt: SQL_C_CHARund , und , SQL_C_WCHAR oder SQL_C_BINARYSQL_C_NUMERIC. SQL_C_TYPE_TIMESTAMP Andernfalls verweist es auf ein gültiges Array mit RowsNumber Elementen, jedes Element enthält seine Längen- oder NULL-Indikatordaten.
OutputSchemaColumnsNumber Output Zeiger auf einen Puffer, in dem die Anzahl der Spalten im erwarteten Resultset der @script in sp_execute_external_script

GetResultColumn

Rufen Sie die Informationen zu einer angegebenen Ausgabespalte für eine bestimmte Sitzung ab.

Diese Funktion wird für jede Spalte im Resultset aus @script in sp_execute_external_script aufgerufen.

Die Spaltenstruktur dieses Resultsets wird als Ausgabeschema bezeichnet.

Syntax

SQLRETURN GetResultColumn(
    SQLGUID         SessionId,
    SQLUSMALLINT    TaskId,
    SQLUSMALLINT    ColumnNumber,
    SQLSMALLINT*    DataType,
    SQLINTEGER*     ColumnSize,
    SQLSMALLINT*    DecimalDigits,
    SQLSMALLINT*    Nullable
);

Argumente

Argument Eingabe/Ausgabe Beschreibung
SessionId Eingabe GUID, die diese Skriptsitzung eindeutig identifiziert
TaskId Eingabe Eine ganze Zahl, die diesen Ausführungsprozess eindeutig identifiziert.

@parallel In 1 sp_execute_external_script liegt dieser Wert zwischen 0 dem Grad der Parallelität der Abfrage.
ColumnNumber Eingabe Eine ganze Zahl, die den Index dieser Spalte im Ausgabeschema identifiziert. Spalten werden sequenziell in erhöhter Reihenfolge nummeriert, beginnend bei 0
Data type Output Ein Zeiger auf den Puffer, der den ODBC-C-Typ enthält, der den Datentyp dieser Spalte identifiziert
ColumnSize Output Ein Zeiger auf einen Puffer, der die maximale Größe in Byte der zugrunde liegenden Daten in dieser Spalte enthält
DecimalDigits Output Ein Zeiger auf einen Puffer, der die Dezimalziffern der zugrunde liegenden Daten in dieser Spalte enthält, wie durch Dezimalziffern definiert. Wenn die Anzahl der Dezimalziffern nicht bestimmt werden kann oder nicht anwendbar ist, wird der Wert verworfen.
Nullable Output Ein Zeiger auf einen Puffer, der einen Wert enthält, der angibt, ob diese Spalte Werte enthalten NULL kann. Mögliche Werte:

- SQL_NO_NULLS: Die Spalte darf keine Werte enthalten NULL .
- SQL_NULLABLE: Die Spalte kann Werte enthalten NULL .
Wenn andere Werte übergeben werden, wird die Ausführung beendet.

GetResults

Rufen Sie das Resultset aus der Ausführung von @script in sp_execute_external_script ab.

Diese Funktion kann mehrmals aufgerufen werden. einmal pro Steam-Block und pro Partition in @input_data_1_partition_by_columns in sp_execute_external_script.

Syntax

SQLRETURN GetResults(
    SQLGUID         SessionId,
    SQLUSMALLINT    TaskId,
    SQLULEN*        RowsNumber,
    SQLPOINTER**    Data,
    SQLINTEGER***   StrLen_or_Ind
);

Argumente

Argument Eingabe/Ausgabe Beschreibung
SessionId Eingabe GUID, die diese Skriptsitzung eindeutig identifiziert
TaskId Eingabe Eine ganze Zahl, die diesen Ausführungsprozess eindeutig identifiziert.

@parallel In 1 sp_execute_external_script liegt dieser Wert zwischen 0 dem Grad der Parallelität der Abfrage.
RowsNumber Output Ein Zeiger auf einen Puffer, der die Anzahl der Zeilen in der Data
Data Output Ein Zeiger auf ein zweidimensionales Array, das der Erweiterung zugeordnet ist, die den Resultset in @scriptsp_execute_external_script enthält.

Die Gesamtanzahl der Spalten sollte darin OutputSchemaColumnsNumber bestehen, dass im Execute-Aufruf abgerufen wurde. Jede Spalte sollte Elemente enthalten RowsNumber , die gemäß dem Spaltentyp von GetResultColumn interpretiert werden sollen.
StrLen_or_Ind Output Ein Zeiger auf ein zweidimensionales Array, das der Erweiterung zugeordnet ist, die den Längen-/NULL-Indikator für jeden Wert enthält.Data Mögliche Werte für jede Zelle:

- n, wobei n > 0. Dieser Wert gibt die Länge der Daten in Bytes an.
- SQL_NULL_DATA, der einen NULL Wert angibt.
Die Gesamtanzahl der Spalten sollte sein OutputSchemaColumnsNumber , die im Execute-Aufruf empfangen wurden. Jede Spalte enthält RowsNumber Elemente, die gemäß dem Spaltentyp von GetResultColumn interpretiert werden sollen.
StrLen_or_Ind[col]wird ignoriert, wenn eine Spalte nicht nullfähig ist und keinen der folgenden Datentypen darstellt: SQL_C_CHARSQL_C_WCHAR und SQL_C_BINARY[add dates]. Andernfalls verweist es auf ein gültiges Array mit RowsNumber Elementen, jedes Element enthält seine Längen- oder NULL-Indikatordaten.

GetOutputParam

Rufen Sie die Informationen zu einem angegebenen Ausgabeparameter für eine bestimmte Sitzung ab.

Diese Funktion wird für jeden Parameter aus @params sp_execute_external_script aufgerufen, der mit OUTPUTgekennzeichnet ist.

Syntax

SQLRETURN GetOutputParam(
    SQLGUID        SessionId,
    SQLUSMALLINT   ParamNumber,
    SQLPOINTER*    ParamValue,
    SQLINTEGER*    StrLen_or_Ind
);

Argumente

Argument Eingabe/Ausgabe Beschreibung
SessionId Eingabe GUID, die diese Skriptsitzung eindeutig identifiziert
ParamValue Output Ein Zeiger auf einen Puffer, der den Wert des Parameters enthält
StrLen_or_Ind Output Ein Zeiger auf einen Puffer, der einen ganzzahligen Wert enthält, der die Länge in Byte ParamValueangibt, oder SQL_NULL_DATA um anzugeben, dass die Daten NULL

GetInterfaceVersion

Rufen Sie die Schnittstellenversion ab.

Diese Funktion gibt eine ganze Zahl zurück, die die Schnittstellenversion der Erweiterung darstellt.

Unterstützte Werte:

  1. Bei Version 1 handelt es sich um die erste API-Version. Unterstützt bei SQL Server 2019 (15.x) RTM.
  2. Version 2 hat Unterstützung für InstallExternalLibrary und UninstallExternalLibrary API hinzugefügt und wird von SQL Server 2019 (15.x) CU 3 unterstützt.

Syntax

SQLUSMALLINT GetInterfaceVersion();

CleanupSession

Bereinigen Sie sitzungsspezifische Informationen.

Syntax

SQLRETURN CleanupSession(
    SQLGUID        SessionId,
    SQLUSMALLINT   TaskId
);

Argumente

Argument Eingabe/Ausgabe Beschreibung
SessionId Eingabe GUID, die diese Skriptsitzung eindeutig identifiziert
TaskId Eingabe Eine ganze Zahl, die diesen Ausführungsprozess eindeutig identifiziert.

@parallel In 1 sp_execute_external_script liegt dieser Wert zwischen 0 dem Grad der Parallelität der Abfrage.

Cleanup

Bereinigen Sie globale, freigegebene Informationen (z. B. JVM).

Syntax

SQLRETURN Cleanup();

GetTelemetryResults

Dieser Wert ruft Telemetriedaten (Schlüssel-Wert-Paare) aus der Erweiterung ab. Die Funktion ist optional und erfordert keine Implementierung. Die Telemetriedaten werden von der dynamischen Verwaltungssicht (DMV) dm_db_external_script_execution_stats verfügbar gemacht.

Es gibt einen Zähler namens script_executions, der vom Framework gesendet wird. Die Erweiterung sollte diesen Namen nicht verwenden.

Bei jedem Telemetrieeintrag handelt es sich um ein Schlüssel-Wert-Paar. Die Schlüssel sind Zeichenfolgen. Die Werte sind 64-Bit-Ganzzahlen oder Zähler. Daher besteht die Ausgabe aus zwei logischen Arrays: den Namen und den entsprechenden Zählern. Bei jedem Array handelt es sich um eine Ausgabe.

Die Länge der einzelnen Arrays ist RowsNumbereine Ausgabe. Die erste logische Ausgabe enthält Zeiger auf Zeichenfolgen. Sie wird durch zwei Arrays dargestellt: CounterNames (die tatsächlichen Zeichenfolgendaten) und CounterNamesLength (die Länge der einzelnen Zeichenfolgen). Die zweite logische Ausgabe wird im CounterValues Zeiger gespeichert.

Syntax

SQLRETURN GetTelemetryResults(
    SQLGUID        SessionId,
    SQLUSMALLINT   TaskId,
    SQLUINTEGER    *RowsNumber,
    SQLCHAR        ***CounterNames,
    SQLINTEGER     **CounterNamesLength,
    SQLBIGINT      **CounterValues
);

Argumente

Argument Eingabe/Ausgabe Beschreibung
SessionId Eingabe GUID, die diese Skriptsitzung eindeutig identifiziert
TaskId Eingabe Eine ganze Zahl, die diesen Ausführungsprozess eindeutig identifiziert.

@parallel In 1 sp_execute_external_script liegt dieser Wert zwischen 0 dem Grad der Parallelität der Abfrage.
RowsNumber Output Die Anzahl der Schlüsselwertpaare
CounterNames Output Die Zeichenfolgendaten, die die Schlüssel enthalten
CounterNamesLength Output Die Länge der einzelnen Schlüsselzeichenfolgen
CounterValues Output Die 64-Bit-Ganzzahldaten, die die Werte enthalten

InstallExternalLibrary

Dieser Wert installiert eine Bibliothek. Die Funktion ist optional und erfordert keine Implementierung. Die Standardimplementierung besteht darin, den Inhalt der Bibliothek (siehe CREATE EXTERNAL LIBRARY) in eine Datei am richtigen Ort zu kopieren. Der Dateiname ist der Bibliotheksname.

Syntax

SQLRETURN InstallExternalLibrary(
    SQLGUID    SetupSessionId,
    SQLCHAR    *LibraryName,
    SQLINTEGER LibraryNameLength,
    SQLCHAR    *LibraryFile,
    SQLINTEGER LibraryFileLength,
    SQLCHAR    *LibraryInstallDirectory,
    SQLINTEGER LibraryInstallDirectoryLength,
    SQLCHAR    **LibraryError,
    SQLINTEGER *LibraryErrorLength
);

Argumente

Argument Eingabe/Ausgabe Beschreibung
SetupSessionId Eingabe GUID, die diese Skriptsitzung eindeutig identifiziert
LibraryName Eingabe Der Bibliotheksname
LibraryNameLength Eingabe Die Länge des Bibliotheksnamens
LibraryFile Eingabe Der Pfad (als Zeichenfolge) zur Bibliotheksdatei, die den binären Inhalt enthält, der durch CREATE EXTERNAL LIBRARY
LibraryFileLength Eingabe Die Länge der LibraryFile Zeichenfolge
LibraryInstallDirectory Eingabe Das Stammverzeichnis zum Installieren der Bibliothek
LibraryInstallDirectoryLength Eingabe Die Länge der LibraryInstallDirectory Zeichenfolge
LibraryError Output Ein optionaler Ausgabeparameter. Wenn während der Installation der Bibliothek ein Fehler auftritt, verweist sie auf eine Zeichenfolge, LibraryError die den Fehler beschreibt.
LibraryErrorLength Output Die Länge der LibraryError Zeichenfolge

UninstallExternalLibrary

Dieser Wert deinstalliert eine Bibliothek. Die Funktion ist optional und erfordert keine Implementierung. Die Standardimplementierung besteht darin, die von der Standardimplementierung InstallExternalLibrarydurchgeführte Arbeit rückgängig zu machen. Die Standardimplementierung löscht den Inhalt der LibraryName Datei unter LibraryInstallDirectory.

Syntax

SQLRETURN UninstallExternalLibrary(
    SQLGUID    SetupSessionId,
    SQLCHAR    *LibraryName,
    SQLINTEGER LibraryNameLength,
    SQLCHAR    *LibraryInstallDirectory,
    SQLINTEGER LibraryInstallDirectoryLength,
    SQLCHAR    **LibraryError,
    SQLINTEGER *LibraryErrorLength
);

Argumente

Argument Eingabe/Ausgabe Beschreibung
SetupSessionId Eingabe GUID, die diese Skriptsitzung eindeutig identifiziert
LibraryName Eingabe Der Bibliotheksname
LibraryNameLength Eingabe Die Länge des Bibliotheksnamens
LibraryFile Eingabe Der Pfad (als Zeichenfolge) zur Bibliotheksdatei, die den binären Inhalt enthält, der durch CREATE EXTERNAL LIBRARY
LibraryFileLength Eingabe Die Länge der LibraryFile Zeichenfolge
LibraryInstallDirectory Eingabe Das Stammverzeichnis zum Installieren der Bibliothek
LibraryInstallDirectoryLength Eingabe Die Länge der LibraryInstallDirectory Zeichenfolge
LibraryError Output Die Bibliotheksfehlerzeichenfolge
LibraryErrorLength Output Die Länge der LibraryError Zeichenfolge