Haben Sie erst einmal mit Linux, Adabas und Apache einen stabil laufenden Datenbankserver für das Intranet zum Laufen gebracht, erhebt sich natürlich sogleich die Frage: Wie mache ich die gespeicherten Informationen vielen, möglichst allen Benutzern meines Netzes zugänglich? In jedem Fall wird es das Klügste sein, auf bereits Vorhandenes zurückzugreifen. Es wäre schwer einzusehen, weshalb plötzlich Dutzende oder gar Hunderte von Arbeitsstationen auf Linux umgerüstet werden sollten, obwohl das im Sinne eines stabilen Arbeitens und effektiver Nutzung der Hardware natürlich das Schlechteste nicht wäre. Aber allein der Umstellungsaufwand auf der administrativen Seite, ganz zu schweigen von erforderlichen Schulungen für alle Mitarbeiter und damit einhergehenden psychologischen Probleme, läßt uns doch vor einer solchen Radikalkur zurückschrecken. Sie ist auch gar nicht erforderlich.
Ein weiteres Argument gegen das reine Linux-Netz ist die Tatsache, daß in der Regel die Linux-Client-Software für die hier vorgestellten Datenbanken noch arg in den Kinderschuhen steckt, zumindest was die Möglichkeiten grafischer Oberflächen und damit einhergehender intuitiver Bedienbarkeit angeht, wenn wir von der Benutzung des Webbrowsers einmal absehen.
Die immer sehr rührige Firma Microsoft weist uns hier den Ausweg, indem Sie schon vor Jahren den Standard ODBC (Open Database Connectivity) geschaffen und in der Zwischenzeit tüchtig weiterentwickelt hat. ODBC macht es möglich, anwendungsunabhängig auf nahezu jede beliebige Datenbank zuzugreifen, sofern nur für diese Datenbank ein ODBC-Schnittstellentreiber existiert.
ODBC-Treiber stehen inzwischen für alle bedeutenden DBMS zur Verfügung. Sie werden benutzt
Der grundsätzliche Weg ist immer der, auf einem Client-System den ODBC-Treiber zu installieren, eine Verbindung zur entsprechenden Datenbank aufzubauen und dann von der gewünschten Anwendung aus über den ODBC-Treiber mit der DB zu arbeiten.
Zum Lieferumfang der Windows-Clients für Adabas D (leider nicht auf der Buch-CD) gehören neben dem 16-Bit- und dem 32-Bit-ODBC-Treiber die Tools
Die ODBC-Treiber ermöglichen den Zugriff auf Adabas D über die standardisierte Microsoft-ODBC-Schnittstelle. Dies gibt dem Endbenutzer die Möglichkeit eines bequemen Zugriffs auf Adabas-Daten aus Windows-Anwendungen, die ODBC unterstützen (z.B. MS Access). Der Programmierer kann mit Entwicklungswerkzeugen, wie beispielsweise Visual Basic oder Power Builder Windows-Anwendungen erstellen, die ODBC-Funktionen für den Datenbankzugriff verwenden.

Bild 6.1: Programmoberfläche von Adabas D QueryPlus
(Windows 95)
Hierbei handelt es sich um ein MS-Windows-Tool für den bequemen Zugriff auf Daten eines Adabas-Servers. QueryPlus ist eine Multi-Document-Interface(MDI)-Anwendung, das heißt, Sie können in einem Programm-Hauptfenster mehrere »Dokumentenfenster« öffnen, zum Beispiel Abfragen auf verschiedene Tabellen und mit verschiedenen Kriterien. Darüber hinaus unterstützt das Programm das Drag-and-Drop-Verfahren, die Übernahme von Daten in die Zwischenablage und den dynamischen Datenaustausch (DDE). QueryPlus ergänzt damit andere Microsoft-Windows-Tools um einen Datenaustausch mit Adabas D. Auf einfache Weise können Adabas-Daten in Dokumente von Windows-Anwendungen eingefügt werden. Besonders komfortable Möglichkeiten des Datenaustauschs eröffnen sich durch die mögliche Verknüpfung von Windows-Objekten, wie beispielsweise Excel- oder Word-Dokumenten mit gespeicherten Suchanfragen oder SQL-Anweisungen. Auf diese Weise lassen sich Adabas-Daten in bestehenden Dokumenten jederzeit per Mausklick auf den neuesten Stand bringen.
DOMAIN ist das universelle DB-Verwaltungs-Utility für Adabas D. Es verfügt über die gleichen Vorzüge wie QueryPlus: MDI, Zwischenablage, Drag and Drop, DDE-Fähigkeit. DOMAIN vereinigt in sich die gesamte DDL-Funktionalität (CREATE-, ALTER- und DROP-Anweisungen) von Adabas-SQL mit menügesteuerten Funktionen zum Zugriff auf den Systemkatalog. Durch letzteres ist es möglich, umfassende Strukturinformationen über die Objekte der Datenbank (Tabellen, Prozeduren, Benutzer, ...) und deren Beziehungen zueinander zu gewinnen, teilweise auch in grafischer Form. Vergleichen Sie hierzu Bild 3.49.
Adabas D AccessPlus ist eine Add-in-Bibliothek für Microsoft Access 2.0, die die Entwicklung von Client-Server-Applikationen mit Microsoft Access und Adabas D unterstützt. AccessPlus enthält zwei Assistenten, den »Adabas D Attaching Wizard« und den »Adabas D Upsizing Wizard«, die das Einbinden (Attaching) von ADABAS-Tabellen in Access-Datenbanken und das Portieren (Upsizing) von bestehenden Access-Tabellen nach ADABAS vereinfachen.
Im folgenden wird die Installation der Adabas-Client-Software für Windows 95 beschrieben: Bei Windows 3.11 sind die Schritte - und auch die Fallstricke - ganz ähnlich.
Schritt 1:
Zunächst überprüfen Sie die Voraussetzungen zur Installation:
Gebraucht wird mindestens eine Arbeitsstation mit 16 Mbyte Arbeitsspeicher und einem 486er Prozessor, auf der Windows 95 läuft und das TCP/IP-Protokoll an die Netzkarte gebunden ist, die in irgendeiner Weise mit dem Adabas-Server in Verbindung steht. Für Windows 3.1 oder 3.11 brauchen Sie einen speziellen TCP/IP-Stack, entweder den von Microsoft kostenlos zur Verfügung gestellten (»ftp://ftp.microsoft.com/bussys/Clients/WFW«) oder zum Beispiel den in Novell LAN WorkPlace enthaltenen.
Auf der Serverseite müssen sowohl die Adabas-SERVERDB als auch der Remote SQL Server laufen, bevor Sie mit den weiteren Installationsschritten beginnen. Die Verbindung vom Client-PC zum Server ist vor der Installation mindestens mit einem »ping«, besser noch mit einer telnet-Verbindung oder einem Browserzugriff zu testen.
Schritt 2:
Editieren beziehungsweise überprüfen Sie jetzt die Datei »hosts« im Windows-Verzeichnis der Arbeitsstation. Falls eine solche Datei noch nicht existiert, gewinnen Sie sie aus der Musterdatei »hosts.sam«. Die Datei muß Hostnamen und IP-Adresse sowohl des DB-Servers als auch der Arbeitsstation enthalten. Auf der Serverseite gewinnen Sie diese Angaben aus der »/etc/hosts«, auf der Client-PC-Seite aus der TCP/IP-Konfiguration unter Netzwerkumgebung/Eigenschaften.
Beispiel:
adamix 192.168.100.1 workpc01 192.168.100.33
Zur Datei »services« im gleichen Verzeichnis fügen Sie die Zeile
sql30 7200/tcp
hinzu.
Handelt es sich um eine Erstinstallation, ist auch auf dem Server in die »/etc/services« eine entsprechende Zeile einzutragen.
Achten Sie darauf, die Zeile mit einem Zeilenendezeichen (CR LF) abzuschließen, wenn Sie am Ende der jeweiligen Datei steht. Anderenfalls wird sie vom TCP/IP-Stack nicht richtig erkannt. Faustregel: Lieber mal ein [Enter] zuviel als zuwenig.
Kontrollieren Sie bei dieser Gelegenheit gleich, ob umgekehrt auch die Arbeitsstation dem Server bekannt ist, entweder durch einen Eintrag in der »/etc/hosts« des Servers oder durch das Vorhandensein eines Namensdienstes (DNS) im Netz, der Hostnamen und IP-Adresse der Arbeitsstation mit verwaltet.
Schritt 3:
Kopieren Sie sich jetzt die Installationsdisketten von der Adabas-CD herunter. Sie sind im Verzeichnis »/cdrom/clients/win32« zu finden, wenn das CD-ROM-Laufwerk auf »/cdrom« gemountet ist. Selbstverständlich läßt sich das Kopieren auch unter einem anderen Betriebssystem vornehmen.
Installieren Sie dann die Software in der Reihenfolge: ODBC-Treiber - DOMAIN - OfficePlus (QueryPlus und AccessPlus).
Schritt 4:
Die Installation erfolgt wie gewöhnlich über Einstellungen/Systemsteuerung/Software vom Diskettenlaufwerk der Arbeitsstation aus. Die auszuführende Datei heißt jeweils »setup.exe«.
Folgen Sie den Anweisungen auf dem Bildschirm, beispielsweise zum Diskettenwechsel und geben Sie benötigte Parameter ein. So wird eine Angabe zum Adabas-Verzeichnis (DBROOT) abgefragt, die Sie bei der ersten Software frei wählen können. Anschließende Installationen von Adabas-Software müssen immer in dieses Verzeichnis erfolgen.
Während der Erstinstallation werden zwei Umgebungsvariable neu festgelegt:
Erhält als Wert den Namen Ihres Adabas-Verzeichnisses,
Wird um diese Verzeichnisangabe ergänzt.
Damit die Variablensetzungen wirksam werden, ist es unumgänglich, den PC nach der Installation neu zu booten. Bei Windows 3.x geht das mit einer Änderung an der Datei »autoexec.bat« einher, die Sie unter Umständen von Hand vornehmen müssen, beispielsweise wenn Sie ein MS-DOS-Bootmenü konfiguriert haben.
Bild 6.2: Neue Datenquelle anlegen im ODBC-Administrator
Schritt 5:
Haben Sie die Software des ODBC-Treibers installiert, ist für jede Adabas-DB, zu der eine Verbindung hergestellt werden soll, eine ODBC-Datenquelle (Data Source) einzurichten. Dazu verwenden Sie den ODBC-Administrator, der entweder direkt aus dem Installationsprozeß oder später aus der Windows-Programmgruppe ADABAS D heraus gestartet wird (Bild 6.2).
Klicken Sie im Hauptfenster auf Hinzufügen..., wählen Sie als ODBC-Treiber ADABAS D aus und klicken Sie auf Fertigstellen. Im danach erscheinenden Fenster stellen Sie die gewünschten Parameter für Ihre Datenbankverbindung ein. Ein Beispiel für die DEMO-Datenbank sehen Sie in Bild 6.3. Der Name für die DB-Verbindung ist beliebig, er sollte Ihnen jedoch später ein leichtes Auffinden aus der Liste der Datenquellen ermöglichen, also aussagekräftig sein.

Bild 6.3: Parameter der Datenquelle festlegen im ODBC-Administrator
Änderungen an Datenquellen können jederzeit später vorgenommen werden, ebenso ist es möglich, bestehende Datenquellen zu entfernen oder neue anzulegen.
Schritt 6:
Nach erfolgreicher Installation und dem Neustart des Arbeitsplatzrechners überprüfen Sie mit dem Kommando set am DOS-Prompt, ob die Umgebungsvariablen richtig gesetzt wurden. Es muß eine Variable DBROOT vorhanden sein, die auf Ihr Adabas-Installationsverzeichnis zeigt, und der Suchpfad muß das Verzeichnis »%DBROOT%\bin« enthalten.
Jetzt ist Ihre Datenbankverbindung unter Windows einsatzbereit.
Weitere Hinweise zur Installation und Konfiguration erhalten Sie in den mitgelieferten Readme-Dateien und im deutschsprachigen Adabas-Handbuch (»dok/wininst/wini.htm« auf der CD).
Das Programm DOMAIN bietet Ihnen alle Möglichkeiten der Datenbankverwaltung von einer Windows-Arbeitsstation aus. Es ist im Handbuch (»dok/domain/doma.htm« auf der CD) mit zahlreichen Bildern in aller Ausführlichkeit beschrieben, so daß ich mich hier auf einige Hinweise beschränke.
DOMAIN starten Sie durch Klick auf den entsprechenden Eintrag in der ADABAS-Gruppe des Startmenüs.
Danach bekommen Sie zunächst nur ein leeres Programmfenster angezeigt. Im Menü View stellen Sie verschiedene Parameter zum Erscheinungsbild der Datenausgabe ein. Später haben Sie hier auch die Möglichkeit, die gemerkten Datenbankverbindungen mit DB-Name und Benutzername einzusehen und eventuell unaktuelle Einträge zu löschen.
Die eigentliche Arbeit beginnt mit der Wahl des Menüpunktes Database/Open Database. Es erscheint ein Fenster zur Auswahl der ODBC-Datenquelle. Wenn sie vorher nur die oben beschriebene Verbindung zur Adabas-DB eingerichtet haben, erscheint in diesem Fenster auch nur diese eine (Bild 6.4).

Bild 6.4: Auswahl der Datenquelle in Adabas DOMAIN
Nach Anwahl der Datenquelle und Ok bekommen Sie das Anmeldefenster zur Verbindungsaufnahme mit der Adabas-SERVERDB (Bild 6.5), in das Sie die gewünschte Username/Password-Kombination eintragen. An dieser Stelle haben Sie auch die Möglichkeit, die Datenbank und den Server-Host zu wechseln. Voraussetzung ist natürlich, daß auf dem entsprechenden Host die Datenbank vorhanden und im Zustand warm ist. Böse Abstürze sind sonst die Folge.
Im Zusammenhang mit dem Norton Navigator unter Windows 95 können beim Betrieb des Adabas-ODBC-Treibers Probleme auftreten, die sich in einem Absturz der Norton-Taskleiste bei Verbindungsaufnahme äußern. Die Weiterarbeit mit DOMAIN ist dann zwar ungehindert möglich, aber die anderen laufenden Anwendungen lassen sich nur noch über die Tastenkombination [Alt]+[Tab] erreichen.

Bild 6.5: Anmeldung an die Adabas-Datenbank in DOMAIN
Haben Sie alle Eintragungen vorgenommen, stellen Sie mit OK die Verbindung zur Datenbank her. Das DBMS prüft zunächst Ihre Zugangsberechtigung und stellt Ihnen dann im Erfolgsfall ein wesentlich prächtiger ausgestattetes Hauptfenster zur Verfügung (Bild 6.6).

Bild 6.6: DOMAIN-Hauptfenster nach Verbindungsaufnahme zu MYDB mit Objektmenü »Datenbankobjekte«
Es enthält neben einer Symbolleiste für die wichtigsten Funktionen noch je nach Auswahl im Menü Ansicht ein oder zwei Objektmenüs wie in Bild 6.6 und 6.7 zu sehen. Erläuterungen zur Bedeutung der einzelnen Objektarten entnehmen Sie dem Adabas-Handbuch (in deutsch) oder der Online-Hilfe von DOMAIN (in englisch). Das meiste erschließt sich mit den bisher angeeigneten Kenntnissen auch von selbst.

Bild 6.7: Objektmenü »Anwendungsobjekte« in DOMAIN
Durchforsten Sie am besten einmal alle vorhandenen Menüs und ziehen Sie im Zweifelsfall die Hilfe zu Rate. Sicher entdecken Sie mit der Zeit viele Arbeitserleichterungen, die hier alle nicht im einzelnen beschrieben werden können. Viele Steuerelemente enthalten auch eine »Blasenhilfe« (allerdings sind die Sprechblasen hier viereckig, dafür aber angenehm gelb). Es lohnt sich also immer, über einem unbekannten Objekt mal kurz mit dem Mauszeiger zu verweilen; meist gibt es dann sein Geheimnis preis.
Ich erinnere an dieser Stelle noch einmal daran, daß DOMAIN ein Verwaltungs-Tool ist, kein Endbenutzertool. Es ist also vorrangig dazu bestimmt, Strukturen abzubilden und zu beeinflussen und nicht so sehr (Daten-) Inhalte. Selbstverständlich steht auch letzterem nichts im Wege, dazu sind aber dann in der Regel die klassischen SQL-Befehle einzusetzen (Button SQL der Symbolleiste), während die Verwaltungsaufgaben doch mit etwas mehr grafischer Unterstützung ablaufen.
DOMAIN ist hervorragend dazu geeignet, neue Datenbankobjekte aller Art anzulegen und bestehende zu modifizieren. Beachten Sie, daß vor der Bearbeitung (Anschauen, Verändern, Neuanlegen, Entfernen) einer bestimmten Objektart immer erst der entsprechende Button im Objektmenü zu drücken ist, da sich das Hauptmenü von DOMAIN dem Objektmenü entsprechend verändert und sonst die benötigten Menüpunkte gar nicht erreichbar sind. Einen Eindruck von den umfänglichen Möglichkeiten der Tabellendefinition vermittelt Bild 6.08. Hier handelt es sich um die nachträgliche Bearbeitung einer Tabelle, die wir bereits angelegt haben. Genau den gleichen Fensteraufbau finden wir auch bei Anlegen einer neuen Tabelle vor. Eventuell müßten wir uns vorher noch die eine oder andere Domain zur Verwendung innerhalb der Tabelle anlegen. Da es sich bei DOMAIN um eine MDI-Anwendung handelt, kann man diese Aufgabe mal so nebenbei erledigen, ohne das Tabellenentwurfsfenster zwischendurch schließen zu müssen.
Nach einer kurzen Eingewöhnungszeit werden Sie dieses Werkzeug zur DB-Verwaltung nicht mehr missen wollen. Vielleicht verspüren Sie Lust, übungshalber die gesamte PiPaPo-Datenbank noch einmal neu anzulegen. Sie werden merken: Das, was Sie früher Tage gekostet hat, ist mit DOMAIN an einem einzigen Nachmittag zu erledigen.

Bild 6.8: Tabellenbearbeitung im Design-Modus von DOMAIN
QueryPlus stellt dem Endbenutzer die gesamte SQL-Funktionalität zum Zugriff auf die in der Adabas-DB gespeicherten Daten zur Verfügung. Außerdem kann er damit Verknüpfungen von Adabas-Daten zu Word, Excel und anderen DDE-fähigen Windows-Anwendungen herstellen. Die - passiven wie aktiven - Abfragetechniken können dabei einerseits über die klassischen SQL-Techniken genutzt werden. Hierfür stehen entsprechende Editierfenster zur Verfügung. Andererseits besteht aber - zur großen Freude all derer, die mit SQL nicht ganz so vertraut sind wie Sie - auch die komfortable Möglichkeit des Query by Example, der interaktiven Zusammenstellung von Abfragen in der grafischen Oberfläche von QueryPlus.
Das Tool wird gestartet durch Klick auf den Eintrag QueryPlus im Untermenü ADABAS D des Windows95-Startmenüs und präsentiert sich anfangs ganz genauso wie das zuvor beschriebene DOMAIN. Auch die Anmeldeprozedur bei der Adabas-Datenbank ist die gleiche.
Der Unterschied ist, daß hier die Menübezeichnungen, die Inhalte der Registerkarten und auch die Online-Hilfe in deutscher Sprache abgefaßt sind, wie sich das für ein Endbenutzertool geziemt. Da vieles analog zu DOMAIN abläuft, können Sie bei Schwierigkeiten mit dem letztgenannten auch mal hier nachstöbern, ob Sie einen geeigneten Tip finden.
Über das Ausführen von SQL-Anweisungen will ich mich hier nicht mehr verbreiten. Zu beachten ist lediglich, daß die Antwort der Datenbank auf eine SELECT-Anfrage in das Editorfenster geschrieben wird, in der auch die SQL-Anweisung stand. Wenn diese einigermaßen kompliziert zu erstellen war und Sie sie wiederverwenden wollen, empfiehlt es sich, sie vor der Ausführung unter einem Namen abzuspeichern. So ist es möglich, sie jederzeit wieder aufzurufen oder auch zu modifizieren und unter einem neuen Namen wieder abzulegen. Solche abgespeicherten SELECTs können auch, wie bei Adabas D üblich, aus mehreren SQL-Anweisungen bestehen, die voneinander durch Kommentarzeilen, beginnend mit einem Schrägstrich, getrennt sind (siehe Kapitel 3).
Die intuitivere Möglichkeit der Gestaltung von Abfragen
besteht unter dem Menüpunkt Datenbank/Query
beziehungsweise dem entsprechenden Button in der Symbolleiste:
Sie erhalten zunächst ein Auswahlfenster, das in den meisten
Fällen leer ist, da Sie noch keine benannten Queries abgelegt
haben. Es wäre lediglich möglich, daß schon jemand von einer
anderen Arbeitsstation aus (oder der gleichen) unter dem gleichen
Benutzernamen bei der gleichen Datenbank vorstellig geworden ist,
um seine Queries dort zu deponieren. Diese bekommen Sie dann
jeweils alle mit angezeigt.
Queries und benannte SQL-Abfragen, die Sie mit den Windows-Clients von Adabas D erzeugen, werden nicht lokal, sondern in der Datenbank gespeichert und ausgeführt. Das hat die beiden Vorteile:
Durch Klicken auf Neu erhalten Sie den Query-Editor, in dem Sie intuitiv Abfragen und Views zusammenstellen können. Geöffnet wird gleichzeitig eine Liste aller Ihrer Tabellen (Basistabellen und Views), aus denen Sie die Auswahl treffen können. Die erste Tabelle wählen Sie durch einfachen Mausklick, alle eventuellen weiteren mit [Strg]+Klick. Abgewählt wird auf die gleiche Weise. Zum Abschluß betätigen Sie Hinzufügen, und die ausgewählten Tabellen werden in den Strukturbereich des Editors übernommen (Bild 6.11, obere Hälfte). Haben Sie eine Tabelle vergessen, rufen Sie jederzeit die Tabellenliste mit dem Button Tabellen unten links wieder auf.

Bild 6.10: Auswahl von Tabellen im Query-Editor
Bild 6.11 zeigt den nachempfundenen View »A_TOTAL« (Listing 3.6), wie er mit dem Query-Editor angelegt würde. Beziehungen zwischen Tabellenspalten stellen Sie her, indem Sie auf die betreffende Spaltenbezeichnung der einen Tabelle mit der linken Maustaste klicken, die Taste gedrückt halten, den Mauscursor zur entsprechenden Spaltenbezeichnung der anderen Tabelle ziehen und dort die Maustaste wieder loslassen (Drag and Drop). Die hergestellte Verbindung symbolisiert der Editor durch eine Linie. Auf die gleiche Weise werden die Ergebnisspalten der Query erzeugt. Ziehen Sie dazu mit der Maus den entsprechenden Spaltenbezeichner aus dem Strukturbereich in den Ergebnistabellenbereich (unten).

Bild 6.11: Definition des Views A_TOTAL (Listing 3.6) im Query-Editor
Das Ergebnis in Form einer SQL-Anweisung lassen Sie sich mit SQL Anzeigen am Bildschirm darstellen. Selbstverständlich sind auch viel kompliziertere Suchbedingungen möglich als in Bild 6.12 dargestellt. Diese tragen Sie in die einzelnen Spalten im Ergebnistabellenbereich des Query-Editors ein.

Bild 6.12: SQL-Darstellung der Query-Definition aus Bild 6.10
Die fertiggestellte Query wird dann unter einem beliebigen, aussagekräftigen Namen abgespeichert - im Bild 6.11 haben wir einfach den Namen des Views genommen - und steht dann jederzeit wieder zur Verfügung.
Das Ergebnis der Abfrage schauen Sie sich an, indem Sie den Query-Editor schließen (Button rechts unten) und im Fenster »Queries« auf den nun neu angelegten Eintrag doppelklicken (Bild 6.13).
Häufig kommt es vor, daß eine Abfrage zwar mit der gleichen Struktur, aber nicht mit den gleichen Werten für die Variablen in den einschränkenden Bedingungen ausgeführt werden soll. Deshalb besteht die Möglichkeit, Queries zur Formulierung von Auswahlkriterien zu parametrisieren. Zu diesem Zweck fügen Sie überall dort, wo das Auswahlkriterium einer Query variabel sein soll, eckige Klammern ein. Zwischen den eckigen Klammern kann eine Eingabeaufforderung formuliert werden, die dann in der Dialogbox, in der Text für die variable Stelle der Query eingegeben wird, erscheint. Pro Query können mehrere Parametrisierungen vorgenommen werden, die beim Abspeichern der Query erhalten bleiben. Im Beispiel (Bild 6.14) sehen Sie eine Parametrisierung in der Spalte »Gage« und daneben eine nichtparametrisierte Bedingung in der Spalte »Datum«. Bei jedem Start der Query lohnende_Veranstaltungen wird nun als erstes der Parameter Mindestgage abgefragt und anschließend die Abfrage auf den Datenbestand ausgeführt, wobei einzelne Benutzer der Query durchaus unterschiedlicher Auffassung darüber sein können, was eine lohnende Veranstaltung ist.

Bild 6.13: Ergebnis der Abfrage A_TOTAL auf die PiPaPo-Datenbank mit dem QueryPlus-Tool

Bild 6.14: Parametrisierte und nicht parametrisierte Bedingungen in QueryPlus
Zum Ändern von Datenbeständen (INSERT, UPDATE, DELETE) läßt sich der Query-Editor leider nicht verwenden; hier greifen Sie entweder auf das gute alte SQL zurück (Button SQL) oder Sie benutzen Microsoft Access 2.0 als Frontend, wie im folgenden Abschnitt beschrieben.
Dank der ODBC-Technik eignet sich Microsoft Access 2.0 hervorragend als Frontend-Anwendung zur Bedienung von Adabas-Datenbanken. Das dazu von Adabas bereitgestellte Tool heißt »Attaching Wizard«. Weiterhin haben Sie die Möglichkeit, mit dem »Upsizing Wizard« Tabellen aus bestehenden Access-Datenbanken nach Adabas zu migrieren. Beide Tools sind Bestandteil der OfficePlus-Installation und werden unter dem Oberbegriff AccessPlus zusammengefaßt.
Nach der Übertragung der Software von den Installationsdisketten auf die Festplatte Ihres Client-PC - was vermutlich bereits geschehen ist - sind die beiden Wizards (zu deutsch: Assistenten) noch als sogenannte »Add-Ins« in Microsoft Access einzubinden. Gewöhnlich wird dazu der Add-In-Manager von Access 2.0 benutzt. Ist der aus irgendeinem Grund nicht vorhanden, ist die Einbindung auch von Hand möglich, wie in der OfficePlus-Hilfe genauestens beschrieben ist.
Sollte Ihnen das Installationsprogramm in der Programmgruppe ADABAS die englische Hilfe verordnet haben, ändern Sie das mühelos, indem Sie unter Eigenschaften den Namen der bezogenen Datei von »offeng.hlp« auf »offdeu.hlp« ändern.
Und so binden Sie die Wizards mit Hilfe des Add-In-Managers ein:
Schritt 1:
Öffnen Sie eine beliebige Access-Datenbank oder legen Sie eine neue an, die Sie hinterher auch wieder löschen können. Das ist nämlich die Voraussetzung dafür, daß der Add-In-Manager überhaupt in Aktion treten kann.
Schritt 2:
Gehen Sie dann in das Menü Datei/Add-Ins/Add-In-Manager und klicken Sie im erscheinenden Dialogfenster auf Einfügen Neu.... Hangeln Sie sich im Datei-Dialog bis zum Adabas-Add-In durch. Die gesuchte Datei heißt »accesspl.mda« und steht im Verzeichnis
c:\adabas\apps\accesspl\
wenn Sie die Windows-Client-Software im Verzeichnis »c:\adabas« installiert haben.
Schritt 3:
Klicken Sie auf den Dateinamen und dann auf OK. Nach kurzer Zeit erhalten Sie im Add-In-Manager-Fenster einen neuen Eintrag (Bild 6.15).

Bild 6.15: AccessPlus-Eintrag im Add-In-Manager von MS Access
Schritt 4:
Beenden Sie Access und starten Sie es erneut, damit die Änderungen wirksam werden. Danach steht Ihnen die AccessPlus-Funktionalität in jeder Access-Datenbank zur Verfügung.
Zum Arbeiten mit der Adabas-Client-Software öffnen Sie eine beliebige Datenbank, in die Sie Adabas-Tabellen einbinden oder von der Sie Daten nach Adabas portieren wollen. Vielleicht tut es ja für Testzwecke erst einmal die gerade eben angelegte leere Datenbank, die Sie hoffentlich noch nicht gleich gelöscht haben. Ansonsten ist auch schnell wieder eine angelegt.
Im Menü Datei/Add-Ins finden Sie jetzt einen neuen Eintrag ADABAS D AccessPlus, über den Sie in das Startfenster für die beiden Wizards gelangen (Bild 6.16). Ein Klick auf den linken Button führt Sie zum Einbinden von Tabellen Ihres Adabas-Servers in die jeweils geöffnete Access-Datenbank.

Bild 6.16: Startfenster für die beiden Adabas-Wizards in Access
Das Procedere bei der Verbindungsaufnahme ist dann das gleiche wie schon bei DOMAIN und QueryPlus - also erst Datenquelle auswählen, dann Usernamen und Paßwort eingeben. Sind Sie richtig verbunden, fragt Sie der Attaching Wizard, welche Tabellen von welchem Benutzer er Ihnen zur Verfügung stellen soll. Ein Klick auf Weiter zeigt die resultierende Gesamtmenge der Tabellen an, aus der Sie nun die einzubindenden einzeln oder im Block auswählen.
Da Access unter Windows 3.x bei dieser Aktion gern einmal mit Schutzverletzung abstürzt (schuld sind in der Regel veraltete 16-Bit-DLLs - Windows ist eben nicht gleich Windows), empfiehlt es sich, in einer Sitzung immer nur höchstens zwei Tabellen einzubinden, dann Access zu beenden und neu zu starten. Das ist zwar sehr umständlich, aber auf diese Weise bekommen Sie nach und nach alle Ihre Basistabellen in die Microsoft-Oberfläche eingebunden und können sich den Inhalt anschauen. Eine kleine Auswahl unserer Beispieldatenbank PiPaPo zeigt Bild 6.17.

Bild 6.17: Einige Tabellen der PiPaPo-Datenbank im Access-Programmfenster (links das Datenbankfenster mit der Übersicht)
Kurz vor Manuskriptabgabe hatte ich noch das Glück, die neuen 32-Bit-Clients von der Software AG für Access 7.0 und Access 97 zu testen: bei denen treten die Abstürze nicht auf, so daß Sie damit die ganze Adabas-Datenbank auf einen Rutsch einbinden können.
Über das Datenbankfenster von MS Access (links im Bild) haben Sie die Möglichkeit, sowohl die Inhalte (mit Öffnen) als auch die Struktur der Tabellen (mit Entwurf) darstellen zu lassen. Allerdings können Sie am Tabellenentwurf bei solcherart eingebundenen Tabellen grundsätzlich nichts ändern. Aber dafür haben Sie ja das DOMAIN-Utility (siehe oben).
In den angezeigten Tabellen können Sie nun nach Belieben herumschreiben, auch neue Zeilen hinzufügen und vorhandene löschen, aber Vorsicht! - jede Änderung schlägt sich sofort in Ihrer Adabas-Datenbank nieder, sobald Sie mit dem Cursor das geänderte oder neu ausgefüllte Feld verlassen. Der Rettungsanker bei Fehleingaben ist lediglich ein rechtzeitiges Betätigen von [Esc], wenn Sie es noch früh genug merken; dann wird der ursprüngliche Inhalt des Feldes wiederhergestellt. Zweimaliges [Esc] stellt den ursprünglichen Inhalt des ganzen Datensatzes (Zeile) wieder her beziehungsweise anulliert insgesamt die Eingabe eines neuen Satzes, solange dieser noch nicht verlassen wurde.
Die positive Seite der Angelegenheit ist, daß sie damit ein gut bedienbares Werkzeug für die Pflege Ihres Datenbestandes in der Hand halten, das alles bisher Kennengelernte an Komfort übertrifft. Access bietet viele Möglichkeiten, das Ganze zu verfeinern und anwenderfreundlich zu gestalten, wie etwa durch benutzerdefinierte Eingabemasken (»Formulare«), die Sie gegebenenfalls auch so auslegen können, daß vorhandene Daten nur durch besonders autorisierte Benutzer überschrieben werden können, während andere Benutzer lediglich neue Daten hinzufügen und wieder andere nur lesen dürfen.
Hier ist jedoch nicht der Platz für einen Kurs in Microsoft Access, so daß ich Sie auf die Dokumentation des Herstellers und die Literatur verweisen muß (zum Beispiel [1]).
Bevor Sie eine Microsoft-Access-Datenbank portieren können, brauchen sie einen ADABAS-Datenbankbenutzer und eine ODBC-Datenquelle. Die Datenquelle haben Sie wahrscheinlich bereits weiter oben angelegt.
Den ADABAS-Datenbank-Benutzer brauchen Sie, damit ihm die aus MS Access nach Adabas exportierten Tabellen zugewiesen werden können, das heißt, dieser Benutzer wird Eigentümer der portierten Tabellen. Dazu benötigt er DBA-Privilegien und darüber hinaus das Recht, mehrere Datenbanksitzungen gleichzeitig zu fahren (»NOT EXCLUSIVE«-Option). Der für diesen Benutzer maximal zur Verfügung stehende Plattenplatz, der über den PERMLIMIT-Wert definiert wird, muß groß genug sein, um die Daten aufnehmen zu können.
Ein sinnvoller Name für diesen Benutzer ist der Name der Access-Datenbank, die portiert werden soll. Jeder andere Benutzername ist selbstverständlich möglich, auch ein schon vorhandener. Wenn er noch nicht vorhanden ist, legen Sie ihn mit einem der bekannten Utilities an.
Beispiel (in DOMAIN, tkquery oder wo auch immer):
create user ADRESSEN password W3XC_ST dba not exclusive
Mit dem Upsizing Wizard können als einzige DB-Objekte die Tabellen von MS-Access portiert werden. Die Queries, Forms und weiteren Objekte verbleiben entweder in der Access-Datenbank (Frontend-Funktion) oder müssen in der Adabas-Datenbank zusätzlich angelegt werden.
Einige Access-Anwendungen verwenden schon von sich aus zwei Datenbanken, wobei die Tabellen in der einen (Backend) und die Queries, Masken, Reports, Makros und Module in der anderen Datenbank (Frontend) zusammengefaßt sind. Die Tabellen aus dem Back-End sind in das Front-End eingebunden, ähnlich wie im vorigen Abschnitt des Kapitels die Adabas-Tabellen. Da der Upsizing Wizard derart eingebundene Tabellen ignoriert, muß für die Portierung in diesem Fall die Backend-Datenbank benutzt werden.
Bevor Sie Ihre MS-Access-Datenbank portieren, sollten Sie von ihr auf jeden Fall eine Sicherungskopie erstellen. Grundsätzlich werden zwar vom Upsizing Wizard keine Daten oder Objekte aus der DB gelöscht. Unter Umständen werden jedoch Tabellen umbenannt.
Der Upsizing Wizard wird genauso gestartet wie oben der Attaching Wizard. Als erstes werden Sie dann nach einer Reihe von Optionen gefragt, nach denen die Übernahme vonstatten gehen soll (Bild 6.18).

Bild 6.18: Optionen für das Upsizing von Access nach Adabas
Auf der MS-Access-Seite existiert teilweise ein anderer
Sprachgebrauch als auf der ADABAS-Seite. Tabelle 6.1 gibt
Auskunft darüber, wie die MS-Access-Bezeichnungen auf ADABAS
abgebildet werden:
| Microsoft Access | ADABAS |
| Primary Key | Primary Key |
| Index | Index |
| Relationship | Referential Constraint oder Foreign Key |
| Default Value | Default Value |
| Validation Rule | Constraint |
| Required Option | NOT-NULL-Attribut |
Tabelle 6.1: Entsprechungen in der Begriffswelt von MS Access und Adabas D
Die ADABAS-Attribute werden mit Hilfe der Data Definition Language (DDL) von ADABAS erzeugt. Sollten SQL-Anweisungen während des Portierungs-Prozesses nicht ausgeführt werden, weil sie beispielsweise nicht richtig erzeugt werden konnten, wird die fehlgeschlagene SQL-Anweisung in einer Dialogbox angezeigt und kann von Ihnen korrigiert werden.
Die deutsche Online-Hilfe von OfficePlus enthält eine detaillierte Schritt-für-Schritt-Anleitung für den Portierungsprozeß sowie eine Reihe von Erwägungen für die Nacharbeit, die ich an dieser Stelle nicht alle wiederholen möchte. Klar ist, daß die Portierung einer ganzen Datenbank kein mechanischer Vorgang sein kann, sondern einige grundsätzliche Überlegungen erfordert: welche Anwendungen anschließend auf dem Datenbestand gefahren werden sollen, wie die adäquaten Datenstrukturen im neuen Systemumfeld (Adabas) auszusehen haben und wie der Zugriff im einzelnen erfolgt. Literatur und Online-Hilfe können dazu grundsätzliche Denkanstöße geben, das Hauptgeschäft wird dabei immer bei den Anwendungsentwicklern liegen, die von der Sache her zu entscheiden haben, was gebraucht wird und was nicht, und vor allem: was unter den gegebenen Umständen mit vertretbarem Aufwand überhaupt machbar ist.
ODBC hat sich mittlerweile zu einem allgemein anerkannten Standard für systemunabhängige Kommunikation mit Datenbanken entwickelt. Da heterogene Netze zumindest in größeren Firmen und Organisationen zunehmend an der Tagesordnung sind - gern verknüpft man die Stabilität und Sicherheit von UNIX-Systemen mit der Bedienerfreundlichkeit und den vergleichsweise geringen Kosten von Windows-PCs - hat sich auch bei den Herstellern von Linux-Datenbanken zunehmend die Erkenntnis durchgesetzt, daß um ODBC kein Weg mehr herumführt.
So werden zum gegenwärtigen Zeitpunkt (Frühjahr 1998) für alle maßgeblichen Systeme auch ODBC-Treiber angeboten. Mittlerweile gibt es für einige DBMS sogar schon ODBC-Treiber für Linux-Arbeitsstationen.
Prinzipielle Erwägungen zu diesem Thema mit der Betrachtung einiger Anwendungsfälle finden Sie in [13].
Bild 6.19 zeigt die grundsätzliche Verfahrensweise unter MS Windows. Die Anwendungsprogramme (Textverarbeitung, Buchhaltung, Präsentation, ...) sprechen niemals direkt die Datenbasis an, sondern halten sich an den Treibermanager, der als Dynamic Link Library ausgeführt ist, bei Versionsänderungen also ohne Änderungen am Gesamtsystem ausgetauscht werden kann. Diese DLL lädt dann auf Anforderung den eigentlichen Treiber für die Kommunikation mit der Datenbank (die Auswahl des benötigten Treibers haben Sie schon weiter oben am Beispiel Adabas D praktisch durchexerziert). Dabei ist unter Windows eine Auswahl der gewünschten Datenbank einschließlich der erforderlichen Verbindungsparameter (Data Source) möglich.

Bild 6.19: Struktur des ODBC-Zugriffs im heterogenen Netz
Die Installation der benötigten Dateien und die Einrichtung von Datenquellen läuft bei allen Systemen in ähnlicher Form ab, wie Sie das bereits kennengelernt haben. Wenn Sie nach den Anleitungen vorgehen, die mit dem jeweiligen Paket geliefert werden, und Ihre Adabas-Erfahrungen zu Rate ziehen, dürften Ihnen dabei keine nennenswerten Schwierigkeiten erwachsen.
Im Gegensatz zu vielen Trial- oder sogar Vollversionen von DB-Servern
unter Linux sind die ODBC-Clients in der Regel kommerzielle
Software. Das heißt, es stehen keine Quellen zur Verfügung und
pro Arbeitsstation muß eine Nutzungslizenz erworben werden.
Informationen darüber erhalten Sie bei den Herstellern oder
über die bekannten Linux-Distributoren. Tabelle 6.2 enthält
eine kleine Übersicht von Web-Links zu diesem Thema.
| DBMS | Info gibt's bei |
| Adabas D | http://www.sag.de |
| LNX | http://www.suse.de |
| Mysql | http://www.tcx.se |
| PostgreSQL | http://www.postgresql.org |
| Solid | http://www.solidtech.com |
| Yard SQL | http://www.suse.de |
Tabelle 6.2: WWW-Kontaktadressen zu DBMS-Herstellern und -Distributoren
Neben den Zugriffen auf die installierten Datenbanken im Linux-Netz und über das Inter- oder Intranet sind Sie jetzt auch in der Lage, im heterogenen Netzwerk Windows-Arbeitsstationen zur Zusammenarbeit mit Ihrer Datenbasis zu überreden. Die Tücken beim Installieren von ODBC-Treibern und -Datenquellen haben Sie gemeistert und nutzen MS Access als grafische, intuitiv bedienbare Oberfläche zur Wartung und Pflege Ihrer Datenbestände. Gleichzeitig haben Sie die Voraussetzung zur Entwicklung eigener Windows-Anwendungen geschaffen, die mit Linux-Datenbanken arbeiten.
Begeben Sie sich nun mit mir auf einen kleinen Streifzug in die Welt der verteilten Datenbanken. Dabei handelt es sich um Managementsysteme, die auf unterschiedlichen Hosts im Netz arbeiten und für einen ständigen Abgleich der - möglicherweise weltweit - verteilten Datenbestände sorgen.
Zurück zu »Mehr Info zu Datenbanken mit Linux«