Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - Programmierung

 

Unterstützung für externe Umgebungen in SQL Anywhere

SQL Anywhere stellt Unterstützung für sechs externe Laufzeitumgebungen bereit. Diese umfassen Embedded SQL und ODBC-Anwendungen, die in C/C++ geschrieben wurden, sowie in Java, Perl, PHP oder in Sprachen wie C# und Visual Basic geschriebene Anwendungen, die auf der Common Language Runtime (CLR) von Microsoft basieren.

SQL Anywhere besaß für einige Zeit die Fähigkeit, kompilierte native Funktionen, die in C oder C++ geschrieben waren, aufzurufen. Wenn diese Prozeduren vom Server ausgeführt wurden, wurde die dynamische Verknüpfungsbibliothek (DLL) oder das gemeinsam genutzte Objekt (Shared Object) immer vom Datenbankserver geladen und die Aufrufe der nativen Funktion wurden immer vom Datenbankserver durchgeführt. Dadurch bestand das Risiko, dass der Datenbankserver abstürzte, wenn die native Funktion einen Fehler verursachte. Durch die Ausführung kompilierter nativer Funktionen außerhalb des Datenbankservers in einer externen Umgebung wird dieses Risiko nun vermieden.

Es folgt ein Überblick über die Unterstützung von externen Umgebungen in SQL Anywhere.

 Katalogtabellen
 Nicht mehr empfohlene Optionen
 SQL-Anweisungen

Wenn eine externe Umgebung für die Verwendung auf dem Datenbankserver eingerichtet ist, können Sie Objekte in der Datenbank installieren und gespeicherte Prozeduren und Funktionen erstellen, die diese Objekte innerhalb der externen Umgebung nutzen. Die Installation, Erstellung und Nutzung dieser Objekte, gespeicherten Prozeduren und gespeicherten Funktionen ist der Methode sehr ähnlich, mit der derzeit Java- Klassen installiert und gespeicherte Java-Prozeduren und -Funktionen erstellt und verwendet werden.

Um einen Kommentar für eine externe Umgebung hinzuzufügen, verwenden Sie die folgende Syntax:

COMMENT ON EXTERNAL ENVIRONMENT Umgebungsname
  IS Kommentar_Zeichenfolge

Um ein externes Perl- oder PHP-Objekt (z.B. ein Perl-Skript) aus einer Datei oder einem Ausdruck in der Datenbank zu installieren, müssen Sie die Anweisung INSTALL EXTERNAL OBJECT in der folgenden Form verwenden:

INSTALL EXTERNAL OBJECT Objektname-Zeichenfolge
  [ Aktualisierungsmodus ] 
  FROM { FILE Dateipfad | VALUE Ausdruck }
  ENVIRONMENT Umgebungsname 

Um einen Kommentar für ein installiertes externes Perl- oder PHP-Objekt hinzuzufügen, können Sie Folgendes ausführen:

COMMENT ON EXTERNAL [ENVIRONMENT] OBJECT Objektname-Zeichenfolge 
  IS Kommentar-Zeichenfolge

Um ein installiertes externes Perl- oder PHP-Objekt aus der Datenbank zu entfernen, verwenden Sie die Anweisung REMOVE EXTERNAL OBJECT.

REMOVE EXTERNAL OBJECT Objektname-Zeichenfolge

Wenn die externen Objekte in der Datenbank installiert sind, können sie in Definitionen für externe gespeicherte Prozeduren und Funktionen verwendet werden (ähnlich dem derzeitigen Mechanismus zur Erstellung von gespeicherten Java-Prozeduren und -Funktionen).

CREATE PROCEDURE Prozedurname(...)
  EXTERNAL NAME '...' 
  LANGUAGE Umgebungsname
CREATE FUNCTION Funktionsname(...)
  RETURNS ... 
  EXTERNAL NAME '...'
  LANGUAGE Umgebungsname

Wenn diese gespeicherten Prozeduren und Funktionen erstellt sind, können sie wie jede andere gespeicherte Prozedur oder Funktion in der Datenbank verwendet werden. Wenn der Datenbankserver auf eine gespeicherte Prozedur oder Funktion einer externen Umgebung trifft, startet er automatisch die externe Umgebung (falls sie noch nicht gestartet ist) und übersendet alle erforderlichen Informationen, damit die externe Umgebung das externe Objekt in der Datenbank abruft und ausführt. Daraus resultierende Ergebnismengen und Rückgabewerte werden nach Bedarf zurückgegeben.

Wenn Sie eine externe Umgebung explizit starten oder stoppen wollen, können Sie die Anweisung START EXTERNAL ENVIRONMENT bzw. STOP EXTERNAL ENVIRONMENT verwenden (vergleichbar mit den Anwendungen START JAVA und STOP JAVA):

START EXTERNAL ENVIRONMENT Umgebungsname
STOP EXTERNAL ENVIRONMENT Umgebungsname

Weitere Hinweise finden Sie unter:


Die externe CLR-Umgebung
Die externen ESQL- und ODBC-Umgebungen
Die externe Java-Umgebung
Die externe PERL-Umgebung
Die externe PHP-Umgebung