Left Up Allgemeine Mapschnittstelle, die auch relationale Datenbanken einbindet

SQL-Einbettung

readmap soll auch als Test für den Nisserver auf relationale Datenbanken zugreifen. Dazu werden die nötigen Informationen wie Datenbankzugang und SQL-Anweisungen in einer Datei hinterlegt

Die Syntax ist einfach: Variablenname = "Wert";

SQL anweisungen

Die SQL-Einbettung erfolgt dadurch, daß es Variablen gibt, die die Anweisung für einen bestimmten Zweck enthalten. Oft muß der Schlüssel eingetragen werden. Die Stelle muß ähnlich wie bei der C-Standardbibliothek mit "%s" gekennzeichnet werden.

Für die ADABAS-D-Anbindung gibt es beispeislweise folgede Namen:

fetch
Anweisung um einen Satz für ypproc_fetch_2 aus der Datenbank zu holen. Dabei wird der aktuelle Schüssel bei %s einsubstituiert.
first
Anweisung um den ersten Satz aus der Datenbank zu holen. (Braucht keinen Parameter)
next
Anweisung um den auf %s folgenden Schlüssel zu holen.
Serverdb,Dbuser,Dbpass
sind Variablen, die die Zugangsdaten zur Datenbank enthalten.

Implementierung

Der Parser mit flex und bison generiert, da einfach kompiziertere Dateien gelesen werden können und die Erweiterbarkeit relativ einfach ist.
Die Konfuguration des mtnis-Servers ist so eine Erweiterung. Dies bietet dem Administrator den Vorteil, daß er mit
readmap den Zugriff testen kann.

Es können beliebige Variablen definiert werden. Die Variablennamen-Werte-paare werden in einer einfachen Liste gehalten. In der Routine zum öffnen werdden einfach die Variablen aus der Liste entfernt, die benötigt werden.

Die SQL-Anweisungen werden erst später (dann wenn es zu spät ist :-) vom Datenbanksystem geprüft. Hier werden sie als gewöhnliche Strings aufgefasst.


Rudolf Weber Informatik und Netzwerkverein Ravensburg e.V