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";
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