LotusScript und Datenbanken

Grundbegriffe

Um erfolgreich mit diesen Modellen arbeiten zu können, sollte man mit einigen Grundbegriffen vertraut sind. Wichtig sind hier vor allem drei Begriffe:

  • Metadaten sind Informationen über die Datenstrukturen, auf die zugegriffen wird. Hier finden sich also beispielsweise die Informationen zu Tabellen und den darin enthaltenen Spalten. Von Alternate Metadata spricht man, wenn ein Connector mehrere Varianten der Darstellung solcher Metadaten anbietet.

  • Das Result Set oder eben der Ergebnissatz ist die Menge der Ergebnisse, die von einer Abfrage zurückgeliefert wird. Jede Verbindung kann einen aktiven Ergebnissatz haben, der mit unterschiedlichen Verfahren durchsucht werden kann. Eine spezielle Variante ist das Writeback Result Set, mit dessen Hilfe Informationen auch wieder zurückgeschrieben werden können. Sie lassen sich in dem Ergebnissatz schnell verändern, weshalb diese Variante für schnelle Update- und Delete-Operationen besonders gut geeignet ist. Dieses Verfahren wird allerdings ebenfalls nicht von allen Connectoren unterstützt.

  • Schließlich werden über das Token Eigenschaften von Verbindungen identifiziert. Tokens werden also benötigt, um solche Eigenschaften gegebenenfalls modifizieren zu können.

Vor allem das Modell des Ergebnissatzes muss man verstehen, um effizient arbeiten zu können. Das ist aber bei praktisch allen Varianten der Programmierung von Datenbankzugriffen ähnlich.

Die Klassen

Insgesamt werden vom LC LSX acht Klassen bereitgestellt werden. Die zentrale Klasse ist LCSession für den Aufbau und die Steuerung der Verbindung. Außerdem können darüber auch verfügbare Adapter ermittelt werden.

Die Klasse LCConnection wird für den Aufbau von Verbindungen verwendet. Pro Connector wird eine Instanz benötigt, über die aber mehrere Verbindungen hergestellt werden können. Damit wird die Last optimiert

Mit den weiteren Klassen

  • LCFieldlist

  • LCField

  • LCStream

  • LCNumeric

  • LCCurrency

  • LCDatetime

werden spezielle Funktionen für den Umgang einerseits mit Felder und andererseits mit speziellen Datentypen angeboten. Man kommt aber für viele Anwendungen ohne nähere Kenntnis zumindest der Klassen für spezielle Datentypen und mit Grundkenntnissen von LCFieldlist und LCField aus.