Verteilte Datenbanken



Ähnliche Dokumente
Access [basics] Tabellenverknüpfungen pflegen. Beispieldatenbank. Verknüpfungen erneuern. Anwendungsfälle. Grundlagen der Verknüpfung

Access [basics] Aktionsabfragen per VBA ausführen. Beispieldatenbank. Aktionsabfragen. Die Execute-Methode. Datenzugriff per VBA

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Bilderverwaltung mit Access

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Menü auf zwei Module verteilt (Joomla 3.4.0)

17 Datenbank aufteilen

Übernahme von Daten aus einem bestehenden Outlook-Profil bzw. einem anderen Exchange Server

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Aufklappelemente anlegen

Stammdatenanlage über den Einrichtungsassistenten

Arbeiten mit UMLed und Delphi

4. BEZIEHUNGEN ZWISCHEN TABELLEN

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Zur drittletzten Zeile scrollen

Durchführung der Datenübernahme nach Reisekosten 2011

Erstellen von x-y-diagrammen in OpenOffice.calc

xcall White Paper Wählen-Buttons in Excel

Drucken aus der Anwendung

P&P Software - Adressexport an Outlook 05/29/16 14:44:26

QTrade GmbH Landshuter Allee München Seite 1

Fotogalerie mit PWGallery in Joomla (3.4.0) erstellen

Mediator 9 - Lernprogramm

Anleitung zur Verwendung der VVW-Word-Vorlagen

, dadurch wird der andere Modus eingestellt, also es sieht dann so aus

Datenaufbereitung in SPSS. Daten zusammenfügen

Internet online Update (Mozilla Firefox)

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Nach der Installation des FolderShare-Satellits wird Ihr persönliches FolderShare -Konto erstellt.

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Einrichten einer mehrsprachigen Webseite mit Joomla (3.3.6)

Zwischenablage (Bilder, Texte,...)

Inventarverwaltung mit Access 2007/10

AutoCAD Dienstprogramm zur Lizenzübertragung

MS Access 2010 Kompakt

Erstellen der Barcode-Etiketten:

Klicken Sie auf Weiter und es erscheint folgender Dialog

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen

Bedienungsanleitung für Mitglieder von Oberstdorf Aktiv e.v. zur Verwaltung Ihres Benutzeraccounts auf

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Installation von ilink TeamCall for Salesforce.com Office Edition

Elexis-BlueEvidence-Connector

Folgeanleitung für Klassenlehrer

Die ersten Schritte mit. DIG-CAD 5.0 Aufmaß

Anleitung zum GUI Version 2.x

ecaros2 - Accountmanager

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

Mandant in den einzelnen Anwendungen löschen

Kontakte Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Produktschulung WinDachJournal

Die elektronische Rechnung als Fortsetzung der elektronischen Beauftragung so einfach geht es:

Folgeanleitung für Fachlehrer

Das Handbuch. zum Betreuervergütungstool von

Installationsanleitung Sander und Doll Mobilaufmaß. Stand

Step by Step Softwareverteilung unter Novell. von Christian Bartl

1. Legen Sie die mitgelieferte CD in ihr Laufwerk des PC, diese startet dann automatisch mit folgenden Fenster, klicken Sie nun English an.

Dokumentenverwaltung im Internet

Serienbriefe mit Word. [Geben Sie den Untertitel des Dokuments ein] Computeria Rorschach

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Terminabgleich mit Mobiltelefonen

Erstellen eines Screenshot

Webakte in Advolux Verfasser : Advolux GmbH Letze Änderung : 10. Juli

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

Urlaubsregel in David

- Tau-Office UNA - Setup Einzelplatzinstallation. * Der griechische Buchstabe T (sprich Tau ) steht für Perfektion. Idee und Copyright: rocom GmbH

Feiertage in Marvin hinterlegen

7DVWH.HOOQHU. Kassensystem SANYO (X&D6RIWKapitel 42

Wenn nicht alle alles mitbekommen sollen: Surfspuren vollständig beseitigen

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

SICHERN DER FAVORITEN

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Gezielt über Folien hinweg springen

Etikettendruck mit Works 7.0

Einführung zum Arbeiten mit Microsoft Visual C Express Edition

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Internationales Altkatholisches Laienforum

Access [basics] Beispieldaten-Assistent. Beispieldatenbank. Installation. Tools Der Beispieldaten-Assistent

Präventionsforum+ Erfahrungsaustausch. HANDOUT GRUPPEN-ADMINISTRATOREN Anlage zum Endnutzer-Handbuch. Stand: Änderungen vorbehalten

Installationsleitfaden kabelsafe backup professional unter MS Windows

Tipps und Tricks zu den Updates

Anbindung des eibport an das Internet

Erste Schritte ANLEITUNG Deutsche Sportausweis Vereinsverwaltung Schnittstelle zum Portal des Deutschen Sportausweises unter

1) Farbsteuergerät in der Nikobus-Software unter Modul zufügen hinzufügen.

IT-Tutorial. Access Microsoft. Infos zur Migration von Access I MPRESSUM

Beispiel des Zusammenführens der APV- Tabellen Stammdaten und Verlaufsdaten mithilfe von Access

Home Produkte Download Bestellen / Preise Newsletter Kontakt

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

WinVetpro im Betriebsmodus Laptop

GITS Steckbriefe Tutorial

Abwesenheitsnotiz im Exchange Server 2010

Installation von Druckern auf dem ZOVAS-Notebook. 1. Der Drucker ist direkt mit dem Notebook verbunden

Gruppenrichtlinien und Softwareverteilung

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

6 Das Kopieren eines bereits bestehenden Inhaltselements

Updatehinweise für die Version forma 5.5.5

Transkript:

Verteilte Datenbanken André Minhorst, Duisburg Kleinere Datenbankanwendungen mit wenigen Inhalt Benutzern und nicht allzu großem Datenverkehr 1 Gründe für verteilte Anwendungen... 1 können auch im Netzwerk problemlos mit Access 2 Aufteilen von Datenbanken... 1 bewältigt werden. Das gilt auch, wenn die Datenbanken ihre Daten von unterschiedlichen Orten 3 Verknüpfungen automatisch aktualisieren3 beziehen zum Beispiel aus der Projektdatenbank, der Kundendatenbank, der Mitarbeiterdatenbank usw. Dabei gibt es allerdings einige Punkte zu beachten. Der vorliegende Beitrag erläutert die Benutzung verteilter Datenbanken am Beispiel der Nordwind-Datenbank. 1 Gründe für verteilte Anwendungen Da die Anwendungslogik also die Abfragen, Formulare, Berichte und so weiter aber möglichst auf den Rechnern der Anwender vorliegen sollen, um die Netzlast zu minimieren, müssen Sie die Datenbank zwangsläufig aufteilen. Im Datenbankbereich spricht man von verteilten Anwendungen, wenn sich Benutzerfrontend und/oder Datenbackend auf mehrere Datenbanken aufteilen. Das kann im Wesentlichen zwei Gründe haben: Mehrere Benutzer sollen auf ein und denselben Datenbestand zugreifen können. 1.2 Verteilte Datenbanken Manchmal wächst mit der Zeit auch die Anzahl der in einer Firma verwendeten Datenbanken. Das liegt meiste daran, dass jede Abteilung ihr eigenes Süppchen kocht und eigene Datenbanken erstellt mit der Folge, dass das Unternehmen Datenbanken doppelt führt. Zwei Datenbanken sind so miteinander verknüpft, dass mindestens eine auf die Daten der anderen zugreift. 1.1 Mehrbenutzerbetrieb Die Datenbank Nordwind ist ein gutes Beispiel für eine verteilte Datenbankanwendung. Dort sollen mehrere Anwender auf den gleichen Datenbestand zugreifen. Zwar hat jeder Mitarbeiter unter Umständen seinen eigenen Kundenstamm, aber allein im Falle der Abwesenheit eines Mitarbeiters sollten andere Mitarbeiter auf die jeweiligen Daten zugreifen können. Damit dies funktioniert, müssen die Daten die sich in den Tabellen befinden von allen beteiligten Rechnern aus erreichbar sein. Wenn Daten also in der einen oder anderen Form bereits vorliegen, sollte man auf bereits Vorhandenes zugreifen, statt die gleichen Daten nochmals zu speichern. Das verhindert redundante Daten, Inkonsistenzen und jede Menge Ärger. Access bietet die Möglichkeit, Tabellen von bereits bestehenden Datenbanken in anderen Datenbanken weiter zu verwenden. 2 Aufteilen von Datenbanken Das Aufteilen von Datenbanken erledigt in der Regel ein Assistent. Da Sie aber vermutlich die volle Kontrolle haben wollen und sich nicht auf den Assistenten verlassen möchten, führen Sie die Aufteilung und anschließende Verknüpfung einer Datenbank und ihrem Backend einfach einmal von Hand durch. Außerdem kommen Sie so leichter zurecht, wenn Sie nicht alle Tabellen 1

Verteilte Datenbanken mit Access ins Backend stellen möchten oder gegebenenfalls Tabellen in verschiedenen Backends unterzubringen sind. Mit der vorliegenden Anleitungen können Sie beliebige Datenbanken aufteilen und wieder verknüpfen. Dabei ist es sinnvoll abzuwägen, ob Abb. 1: Importieren von Tabellen nicht manche Tabellen gegebenenfalls in der jeweiligen Frontend-Datenbank besser aufgehoben sind das ist beispielsweise zwingend der Fall, wenn die Datenbank eine Tabelle mit Optionen, etwa für spezielle Einstellungen der Benutzeroberfläche enthält. Ein anderer Fall sind temporäre Tabellen, in denen Daten oder Ergebnisse zwischengespeichert werden. Befinden diese sich in den einzelnen Frontenddatenbanken, haben Sie direkt zwei Fliegen mit einer Klappe geschlagen: Die temporären Daten müssen nicht über das Netzwerk hin- und hertransportiert werden und Sie müssen sich nicht darum kümmern, dass mehrere Mitarbeiter auf die selbe temporäre Tabelle zugreifen und sich gegebenenfalls ins Gehege kommen. step by step 1 Legen Sie eine neue Datenbank an und speichern Sie diese unter dem Namen Nordwind_be.mdb. Abb. 2: Verknüpfen der Daten aus dem Backend 2 Wählen Sie den Menübefehl Datei Externe Daten Importieren aus. 3 Wählen Sie die Datei Nordwind.mdb. 4 Markieren Sie alle Tabellen und klicken Sie auf die Schaltfläche OK (s. Fehler! Verweisquelle konnte nicht gefunden werden.). Den ersten Schritt haben Sie somit durchgeführt. Sie haben die Backend-Datenbank erstellt und mit den Daten gefüllt. Abb. 3: Anzeige verknüpfter Tabellen im Datenbankfenster Im zweiten Schritt bearbeiten Sie nun die Original- und zu- 2

künftige Frontenddatenbank. Zuvor müssen Sie jedoch die neue Backenddatenbank noch schließen, da Sie sonst die Tabellen nicht verknüpfen können. Bevor Sie die folgenden Schritte durchführen, sollten Sie die Originaldatenbank sichern. step by step 1 Öffnen Sie die Originaldatenbank. 2 Löschen Sie alle Tabellen, die Sie in die Backendtabelle auslagern möchten. 3 Wählen Sie den Menübefehl Daten Externe Daten Tabellen verknüpfen aus. 4 Wählen Sie im Dialog Verknüpfen die Backenddatenbank aus. 5 Wählen Sie im Dialog Tabellen verknüpfen (s. Fehler! Verweisquelle konnte nicht gefunden werden.) die zu verknüpfenden Tabellen aus. Access zeigt die verknüpften Tabellen im Datenbankfenster an. Ein Pfeil weist auf die Verknüpfung hin (s. Fehler! Verweisquelle konnte nicht gefunden werden.). 3 Verknüpfungen automatisch aktualisieren Unter manchen Umständen verändert sich der Speicherort der Backendtabelle. Die Folge: Die Frontenddatenbank findet das Backend nicht mehr. Im Prinzip müssen Sie in diesem Fall einfach die Tabellen erneut mit dem Frontend verknüpfen. Dem Anwender sollten Sie das aber nicht zumuten. Erstens gibt es Anwender, die damit überfordert sind, und zweitens müssen Sie unter Umständen alle vorhandenen Frontends aktualisieren. Also schreiben Sie eine kleine Prozedur, mit der Sie die Verknüpfungen fast komplett automatisch aktualisieren können (s. Quellcode 1). Die Routine verwendet eine weitere Funktion zum Anzeigen des Datei öffnen-dialogs. Den entsprechenden Code finden Sie im Modul mdlfiledialog in der Beispieldatenbank VerteilteDatenbanken97.mdb (Access 97) beziehungsweise VerteilteDatenbanken00.mdb (Access 2000 und höher). Der Aufruf der Funktion erfolgt über die Anweisung LinkTable, die Sie an geeigneter Stelle in das Frontend einbauen beispielsweise in die Beim Laden-Ereignisprozedur eines beim Start aufgerufenen Formulars. Damit stellen Sie sicher, dass die Verknüpfungen auf jeden Fall überprüft werden. 3.1 Ablauf der Aktualisierung der Verknüpfungen Die Funktion LinkTable müssen Sie für jede zu verknüpfende Tabelle einmal aufrufen, und zwar mit dem Tabellennamen als Parameter. Der Aufruf für die Aktualisierung der Verknüpfung zu der Tabelle Artikel erfolgt beispielsweise mit folgender Anweisung: LinkTable "Artikel" Die Funktion liest den Pfad der Herkunftsdatenbank dieser Tabelle in die Variable strcurrentbackend ein. Dazu verwendet sie die Dlookup- Funktion und ermittelt damit den entsprechenden Wert aus der Systemtabelle MSysObjects. Im Optimalfall findet die Funktion die Datenbank unter dem angegebenen Pfad, alle weiteren Fälle werden weiter unten beschrieben. Das Vorhandensein der Datenbank vorausgesetzt, durchsucht die Funktion die TableDefs- Auflistung nach einer Tabelle mit dem angegebenen Namen und aktualisiert die Verknüpfung zu dieser, womit die Funktion ihren Dienst bereits getan hätte. Kommen wir zu den nicht optimalen Fällen: Wenn bei der Aktualisierung der Verknüpfung ein Fehler auftritt, springt die Funktion zurück zur Marke Checkpath. Das Fehlerobjekt Err ent- 3

Verteilte Datenbanken mit Access hält in dem Fall einen Wert größer 0 und der erste Teil des If Then-Konstrukts wird durchlaufen. Es erscheint eine Meldung, die dem Benutzer die Möglichkeiten bietet, entweder die richtige Datenbank für die Aktualisierung der Verknüpfung auszuwählen oder die Anwendung zu schließen. Diesen Teil springt die Funktion auch dann an, wenn die als Herkunftdatenbank angegebene Datei nicht vorhanden ist. Da Sie diese Funktion für jede einzelne Tabelle aufrufen können, ist es auch möglich, Tabellen aus verschiedenen Datenbanken einzubinden. Public Function LinkTable(strTablename As String) On Error GoTo LinkTable_Err Dim db As Database Dim tdf As TableDef Dim strcurrentbackend As String Dim lnganswer As Long Set db = CurrentDb strcurrentbackend = DLookup("Database", "MSysObjects", "Name = '" _ & strtablename & "' AND Type =6") Checkpath: If Dir(strCurrentBackend) = "" Or Err > 0 Then lnganswer = MsgBox("Die Verknüpfung mit der Tabelle '" & strtablename _ & "' ist fehlgeschlagen. Klicken Sie auf 'Ja', um das richtige Backend " _ & "auszuwählen und 'Nein', um abzubrechen.", vbyesno) Select Case lnganswer Case vbyes strcurrentbackend = OpenFilename("Choose backend", "*.mdb") Case vbno DoCmd.Quit End Select End If For Each tdf In db.tabledefs On Error Resume Next If tdf.name = strtablename Then tdf.connect = ";database=" & strcurrentbackend tdf.refreshlink If Err.Number > 0 Then GoTo Checkpath End If Next tdf LinkTable = True LinkTable_Exit: Set db = Nothing Exit Function LinkTable_Err: LinkTable = False MsgBox "Fehler-Nr: " & Err.Number & vbcrlf & "Fehler-Beschreibung: " & Err.Description GoTo LinkTable_Exit End Function Quellcode 1 4

Außerdem erhalten Sie bei einem missglückten Versuch, die Tabellen einzubinden, Feedback, an welcher Tabelle es gelegen hat. So können Sie zielgerichteter überprüfen, weshalb die Verknüpfung fehlgeschlagen ist. 5