Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Konzept des SESAM-CLI

Das SESAM-CLI (Call Level Interface) ist eine prozedurale Schnittstelle, mit der in erster Linie auf BLOBs (Binary Large Objects) zugegriffen wird. Daneben existiert zur Zeit ein weiterer CLI-Aufruf, mit dem Sie Attributwerte bei dynamischen INSERT-Anweisungen bestimmen können.

BLOBs sind Folgen von Bytes variabler Länge, die bis zu 231-1 Bytes groß sein können. Sie können mit SESAM/SQL als BLOB-Objekte persistent in Datenbanken gespeichert werden. Ihre Darstellung und Änderung erfolgt außerhalb von SESAM/SQL mit speziellen Programmen, wie zum Beispiel mit Microsoft TM Word.

Der Wert eines solchen BLOB-Objekts wird als BLOB-Wert bezeichnet. BLOB-Objekte können Sie ausschließlich in besonderen Tabellen, den BLOB-Tabellen, speichern. Diese erzeugen Sie mit der SQL-Anweisung CREATE TABLE tabelle OF BLOB (siehe "CREATE TABLE - Basistabelle erzeugen"). Die BLOB-Werte einer BLOB-Tabelle bilden die Objekte einer Klasse.

Wird ein BLOB-Objekt erzeugt, werden sein Wert und die zugeordneten Attribute in einer BLOB-Tabelle gespeichert. Zusätzlich wird ein eindeutiger REF-Wert erzeugt, der das BLOB-Objekt bezeichnet, solange es existiert. Dieser REF-Wert kann in REF-Spalten beliebiger Basistabellen gespeichert werden. Der BLOB-Wert selbst wird stückweise in mehreren Zeilen der BLOB-Tabelle gespeichert. Diese Speichermethode ermöglicht einen effizienten sequenziellen Zugriff auf die BLOB-Werte.

Die Attribute eines BLOB-Objekts sind Eigenschaften, die einerseits der Anwender selbst festlegt und andererseits SESAM/SQL dem Objekt zuordnet
(siehe Abschnitt „CREATE TABLE - Basistabelle erzeugen").

BLOB-Objekte, Klassen und Attribute von BLOB-Objekten, BLOB-Werte und Sequenzen von BLOB-Werten werden mit Hilfe der Schnittstelle SESAM-CLI angesprochen. Die einzelnen CLI-Aufrufe werden ausführlich im Abschnitt „Aufrufe des SESAM-CLI" beschrieben.

Die inhaltliche Bearbeitung der BLOB-Werte erfolgt nicht in SESAM/SQL sondern in den objektspezifischen Programmen, wie zum Beispiel in MS Word bei Worddokumenten. Für den Transfer der BLOB-Werte aus SESAM/SQL zum Beispiel in eine BS2000-Datei stehen zwei verschiedene Möglichkeiten zur Verfügung:

  • Der BLOB-Wert kann mit SQL_BLOB_VAL_GET komplett in einen Speicherbereich geschrieben werden.

  • Mit der Befehlsfolge SQL_BLOB_VAL_OPEN, SQL_BLOB_VAL_FETCH und SQL_BLOB_VAL_CLOSE kann der BLOB-Wert stückweise ausgelesen werden (siehe im Abschnitt „Alphabetischer Nachschlageteil").

    Für die Funktionen SQL_BLOB_VAL_OPEN, SQL_BLOB_VAL_FETCH, SQL_BLOB_VAL_STOW und SQL_BLOB_VAL_CLOSE gibt es jeweils eine Variante mit dem Suffix _STATELESS. Mit diesem Satz von Funktionen kann die stückweise Bearbeitung von BLOBs auch über UTM-Dialogschrittwechsel hinweg erfolgen. Die Schnittstellen dieser Funktionen sind in den Dateien sqlblox.h (für C) und SQLBLOX (für COBOL) beschrieben.

Die Beispieldatenbank von SESAM/SQL (siehe „ Basishandbuch“) enthält Tabellen zur Verwaltung von BLOB-Objekten. Dort finden Sie auch ein ESQL-Programm mit C-Funktionen zur Bearbeitung dieser BLOB-Objekte.