Auf eine UDS/SQL-Datenbank kann das Datenbank-Anwenderprogramm nicht direkt zugreifen, wie z.B. auf die Daten einer einfachen Datei. Vielmehr steuert der Database Handler (DBH) den Zugriff auf die Datenbank und nimmt dem Anwenderprogramm damit auch alle Verwaltungsarbeiten ab, die z.B. beim Speichern von Daten anfallen.
Den Database Handler gibt es in zwei Varianten:
independent DBH
linked-in DBH.
Der independent DBH ist als selbstständige Task-Familie realisiert. Er nimmt die Datenbankaufrufe der Anwenderprogramme entgegen, greift auf die Datenbank zu und transportiert die zu verarbeitenden Daten zwischen der Datenbank und dem Arbeitsbereich im Anwenderprogramm.
Außerdem überwacht der DBH alle Datenbankaktivitäten und führt den Dialog mit dem Datenbankadministrator, d.h. er meldet ihm aufgetretene Fehler und nimmt seine Anweisungen entgegen.
Der independent DBH ist multi-DB-fähig, d.h. er kann mehrere Datenbanken gleichzeitig verwalten. Ein Datenbank-Anwenderprogramm kann auch innerhalb ein und derselben Transaktion über diesen DBH auf alle Datenbanken der Multi-DB-Konfiguration zugreifen.
Das Dienstprogramm ONLINE-PRIVACY wird mit dem independent DBH genutzt.
Das Dienstprogramm UDS-ONLINE-UTILITY kann mit dem independent DBH und mit dem linked-in DBH genutzt werden.
Bild 1: Prinzip des independent DBH
Der linked-in DBH ist kein selbstständiges Programm. Die Module des linked-in DBH werden in das Datenbank-Anwenderprogramm eingebunden; sie laufen als Teil dieses Programms. Soll vom Programm auf eine Datenbank zugegriffen werden, so ruft das Programm den DBH auf. Der DBH greift auf die Datenbank zu und schreibt Daten aus der UWA des Programms in die Datenbank oder liefert in der UWA angeforderte Daten aus der Datenbank ab.
Da bei Verwendung des linked-in DBH die Task-Kommunikation entfällt, die beim independent DBH zwischen den Tasks der Task-Familie und den Anwendertasks erforderlich ist, lässt sich die Laufzeit eines einzeln eingesetzten Anwenderprogrammes verkürzen.
Der linked-in DBH kann keine SQL-Anweisungen bearbeiten.
Der linked-in DBH ist multi-DB-fähig, d.h. ein Datenbank-Anwenderprogramm, das mit dem linked-in DBH arbeitet, kann auf mehrere Datenbanken zugreifen. Diese Datenbanken sind während der linked-in Anwendung für jedes andere Programm gesperrt, es sei denn der DBH eröffnet sie nur lesend (SHARED-RETRIEVAL).
UDS/SQL-Dienstprogramme, die den DBH benötigen, arbeiten im Allgemeinen mit dem linked-in DBH, ebenso der DDL- und der SSL-Compiler; sie arbeiten dabei mit einer Mono-DB-Konfiguration, sprechen also immer nur eine Datenbank an.
Das Dienstprogramm UDS-ONLINE-UTILITY kann mit dem linked-in DBH und auch mit dem independet DBH genutzt werden.
Bild 2: Prinzip des linked-in DBH