Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Elwood am Juli 28, 2011, 21:39:21

Titel: Datenbak aufteilen
Beitrag von: Elwood am Juli 28, 2011, 21:39:21
Hallo!

Ich möchte eine Datenbank Aufgrund einer Selektion aufteilen. Und die Komplettstruktur behalten.
(Es handelt sich um eine Kontaktdatenbank mit mehreren verknüpften Tabellen. Sie soll aufgeteilt werden, um mehrere Leute dran arbeiten zu lassen. Die selektion erfolgt über ein generiertes SQL- Statement.  Nach Bearbeitung werden die Daten wieder zusammengeführt.)

Ich habe mir das erst mal so vorgestellt:
1. die Struktur der Tabellen in eine neue Datenbank kopieren
2. auf Basis der Selektion die Tabellen der neuen Datenbank füllen
3. Sicherungskopie der aktuellen Datenbank erstellen
4. Selektierte Datensätze aus der Quelldatenbank löschen

Hat jemand Ideen, wie das am einfachsten zu bewerkstelligen ist?
Besonders Punkt 1?
Der Rest müsste ja weitgehend per SQL zu machen sein.

THX, Gerhard
Titel: Re: Datenbak aufteilen
Beitrag von: Hondo am Juli 28, 2011, 22:24:25
Hallo,
deine Idee ist imo wenig sinnvoll.
Teile die Datenbank lieber so auf, dass in einer mdb alle Tabellen (Backend) und in einer zweiten mdb der Rest ist. (Frontend)

Das Backend kommt zentral auf einen Server, das Frontend wird an alle User verteilt die es lokal installieren. Danach noch Tabellenverknüpfung herstellen und fertig.

Gruß Andreas
Titel: Re: Datenbak aufteilen
Beitrag von: Elwood am Juli 28, 2011, 23:10:23
Hallo Andreas,

Dies Frontend-Backend  Aufteilung ist schon vollzogen.
Nur die Sache mit dem Server ist nicht machbar (es gibt keinen).
Zudem müsste man die DB dann noch Multiuser-fähig haben.

Daher der Gedanke mit der Teilung.

Gerhard
Titel: Re: Datenbak aufteilen
Beitrag von: MzKlMu am Juli 29, 2011, 09:28:13
Hallo,
wenn es keinen Server gibt, heist das jeder hat auf seinem PC eine unabhängige DB die er bearbeitet?
Wie willst Du dann bei der Zusammenführung sicherstellen, dass alles (die Daten) an seinem Platz ist?
Oder bearbeitet jeder ausschließlich seine Daten?
Kannst Du das Vorhaben mal etwas mehr erklären?

ZitatZudem müsste man die DB dann noch Multiuser-fähig haben.
Access ist von Haus aus ohne besondere Maßnahmen Multiuser fähig.
Titel: Re: Datenbak aufteilen
Beitrag von: Hondo am Juli 29, 2011, 10:22:53
Hallo,
wenn du keinen Server hast ist das kein Access Problem.
Du benötigst ja eigentlich nur ein Rechner als Fileserver, und eine Heimnetz-Einrichtung über die die Client-Rechner zugreifen.
Jedes andere Konstrukt ist unsinnig weil Redundanzen und Datenbankfehler vorprogrammiert.

Gruß Andreas
Titel: Re: Datenbak aufteilen
Beitrag von: Elwood am Juli 29, 2011, 12:48:56
Genauer erklärt ist das so:
Mehrere Leute rufen bei Firmen an und protokollieren diese Anrufe in der Datenbank.
Diese Leute sitzen an völlig unterschiedlichen Orten. Client-Server fällt daher aus.

Jeder bekommt einen Teil der Datenbank, den er bearbeitet. Nach der Bearbeitung werden die Teile wieder zusammengefügt. Das scheint mir der einzig mögliche Weg, da ein Abgleich nicht möglich wäre, wenn jeder an der vollen Datenbasis arbeiten würde.

Aber zum Aufteilen brauche ich jeweils erst die DB-Struktur in einer neuen Datei und schreibe dann dorthin die extrahierten Daten (siehe oben)
Titel: Re: Datenbak aufteilen
Beitrag von: edgar.basler am Juli 29, 2011, 15:27:04
ZitatDiese Leute sitzen an völlig unterschiedlichen Orten. Client-Server fällt daher aus.
Dies ist zuerstmal kein Grund. Haben diese "unterschiedlichen Orte" technischen Zugriff auf die DB oder nicht?
Wenn ja, dann würde ich dies machen wie "Hondo" es beschrieben hat.
Titel: Re: Datenbak aufteilen
Beitrag von: Elwood am Juli 29, 2011, 15:47:36
Die einzige Möglichkeit aus meiner Sicht in der von euch vorgeschlagenen Richtung ist ein FTP- Server. Der nützt aber nichts, da in dem Fall die DB zur Bearbeitung runtergeladen und anschließend wieder hochgeladen wird.
Einen über Internet erreichbaren Fileserver? Da hab ich k.A. wie das mit einfachen Mitteln gehen soll.
Vermutlich auch zu aufwändig.

Keine Tipps für meinen Ansatz?

Gerhard
Titel: Re: Datenbak aufteilen
Beitrag von: Hondo am Juli 29, 2011, 16:45:25
Hallo,
nein, bei diesen Gegegenheiten (die man im Posting Nr. 1 ruhig hätte erwähnen können) brauchst du einen per IP zugänglichen SQL Server, und statt Access MDB-Dateien ein Access Projekt ADP.

Andere Alternativen sind fehleranfällig und bedeutet häufigen manuellen Eingriff in die Datenbank zur Korrekttur, etc.
Ich würde über eine Webbasierte Lösung nachdenken, d.H. MySQL Datenbank und PHP-Programmierung.
Das ist von der Entwicklung und den Hostingkosten abgesehen (letztere sind aber gering) fast kostenlos.

Gruß Andreas
Titel: Re: Datenbak aufteilen
Beitrag von: Marsupilami72 am Juli 29, 2011, 16:46:43
Von welchen Datenmengen reden wir denn? Wie viele Nutzer, wie viele Datensätze?

Was für Internetanschlüsse stehen an den Standorten zur Verfügung?

Wenn durchgängig mehrere MBit/s zur Verfügung stehen, könnte man die Standorte per VPN verbinden - dann arbeiten alle wie in einem lokalen Netzwerk und können gemeinsam auf das Backend zugreifen.

Nach der Projektbeschreibung halte ich aber ebenfalls eine webbasierte Lösung für die bessere Wahl...
Titel: Re: Datenbak aufteilen
Beitrag von: Elwood am Juli 29, 2011, 18:30:17
Danke für die Tipps!
Leider habe ich von PHP ebenso wenig Ahnung, wie vom Aufsetzen von webbasierten SQL- Servern.
Die DB umfasst ein paar hundert Kundenstammsätze und  5-10x soviel Bewegungsdaten.
Nicht viel also.
5-10 Leute arbeiten dran, aber nur jeweils 2-3 gleichzeitig.

Ich will hier auch nicht ein riesen Projekt aufsetzen, sondern 1.2 Tage in Access investieren und gut.
Deshalb würde ich meinen Opel dem vorgeschlagenen Rolls vorziehen. (VPN ifällt ebenfalls  in die Kategorie)

Gerhard
Titel: Re: Datenbak aufteilen
Beitrag von: Stapi am Juli 29, 2011, 20:21:39
Hallo Elwood

Schon mal über eine Datenbank als Replikat nachgedacht. Dort gibt es ein Desingmaster an dem du Ändernungen aller Art vornehmen kannst, das Replikat verwenden deine Nutzer. Die Nutzer können ohne Netzwerk Verbindung mit ihrer Datenbank arbeiten, somit Daten erfassen oder ergänzen. Der Daten Austausch findet dann per Replizieren zwischen den Replikaten oder dem Desingmaster statt, das kann z.b per USB Stik oder aufgebauter Datenleitung UMTS Netz stattfinden.

Gruß Stefan
Titel: Re: Datenbak aufteilen
Beitrag von: Elwood am Juli 29, 2011, 23:27:35
Wäre das Replikat eine schlichte Kopie? Oder ist das eine spezielle Funktionalität?
Gibt es da was um drüber nachzulesen?

Gerhard
Titel: Re: Datenbak aufteilen
Beitrag von: DF6GL am Juli 30, 2011, 09:13:26
Hallo,

ja sicher    ;) :    gockel mal z. B.  nach "Access Replikat"
Titel: Re: Datenbak aufteilen
Beitrag von: database am Juli 30, 2011, 09:26:53
Hallo,

ZitatGibt es da was um drüber nachzulesen?

z.B.:  http://office.microsoft.com/de-de/access-help/CH006366427.aspx? (http://office.microsoft.com/de-de/access-help/CH006366427.aspx?)

Replikation erzeugt weder eine multiuserfähige Datenbank noch ist es m.E. ein gangbarer Weg im produktiven Umfeld Daten auf diese Weise zu aktualisieren.
Replikation wäre nach meinem Dafürhalten dann sinnvoll einzusetzen, wenn jeden Tag um 7:00 alle Beteiligten vom gleichen Datenbestand auszugehen hätten - alles andere wird mühsam.

Werden die neuen Dateiformate verwendet (ACCDB) egal ob von Acc2007 oder 'Acc2010 fällt Replikation sowieso flach, da diese bei ACCDB-Dateien nicht unterstützt wird.

Zitatin der von euch vorgeschlagenen Richtung ist ein FTP- Server
Nein, davon war hier keine Rede. Mit einem FTP-Server würdest du nichts anfangen können.

Wenn alle Möglichkeiten einer zentralen Datenspeicherung ausfallen die im 'konventionellen' Umfeld Gang und Gäbe sind gefällt dir vielleicht das:
http://www.microsoft.com/visualstudio/en-us/lightswitch/overview (http://www.microsoft.com/visualstudio/en-us/lightswitch/overview)
Titel: Re: Datenbak aufteilen
Beitrag von: Elwood am Juli 31, 2011, 12:07:02
Danke erst mal für die Tipps und Hinweise.
Ich habe mal kurz mit Replikation rumprobiert. Das scheint aber mit einer geteilten DB Probleme zu machen.

Na, ich forsche weiter.

Gerhard
Titel: Re: Datenbak aufteilen
Beitrag von: oma am Juli 31, 2011, 20:01:09
Hallo Gerhard,

schau mal hier: http://www.access-o-mania.de/forum/index.php?topic=13591.msg76806;topicseen#msg76806 (http://www.access-o-mania.de/forum/index.php?topic=13591.msg76806;topicseen#msg76806)

Gruß Oma
Titel: Re: Datenbak aufteilen
Beitrag von: Elwood am August 04, 2011, 22:21:23
So.
In der Zwischenzeit hatte ich Gelegenheit die Replikation etwas auszuprobieren.
Leider muss ich den gesamten Datenbestand replizieren, da es anscheinend nicht möglich ist, ein Teilreplikat über mehrere Tabellen einzuschränken. (Oder soll man das einfach lassen und die verknüpften Tabellen haben dann eben keine Quellsätze mehr?)
Außerdem wüsste ich nicht, wie ich mit VBA einen Filter für ein Teilreplikat definiere.
Weiß das jemand?

Also habe ich nun über MakeReplica Replikate erstellt und synchronisiere sie mit Synchronize.
Leider: Wenn Konflikte auftreten werden diese erst mal nicht bereinigt. Rufe ich dann in der MasterDB den Konfliktlösungsassistenten auf, erhalte ich den Fehler, dass die "ReplicationConflictFunction" nicht richtig gesetzt wurde.
Dass man die so setzen, kann, dass der Assistent anspringt, habe ich noch herausgefunden.
Aber wie ich das machen soll und vor allem wann - da weiß ich nicht weiter.

Kann jemand helfen?

Gerhard
Titel: Re: Datenbak aufteilen
Beitrag von: oma am August 05, 2011, 08:53:42
Hallo Gerhard,

da du so garnicht auf meinen Hinweis reagierst hast, habe ich gemerkt, dass mein Link auch falsch war

richtig sollte sein:  http://www.access-o-mania.de/forum/index.php?topic=8472.msg45785;topicseen#msg45785 (http://www.access-o-mania.de/forum/index.php?topic=8472.msg45785;topicseen#msg45785)

Gemeint ist eine Lösung mit Terminal-Server, mit der wir sehr zufrieden sind!

Gruß Oma

Titel: Re: Datenbak aufteilen
Beitrag von: Elwood am August 05, 2011, 10:05:13
Hallo Oma,
Technisch gesehen ist der Terminalserver sicher die sauberste Lösung.
Hat sicher auch seine Vorteile.

Aber zum einen wollen wir keinen Server im Dauerbetrieb laufen lassen (die DB wird von einzelnen Freiberuflern genutzt) und zum Anderen kenne ich mich mit VPN und Terminalserver noch weniger aus als in Access  ;)

Gerhard
Titel: Re: Datenbak aufteilen
Beitrag von: oma am August 05, 2011, 21:41:38
Hallo Gerhard,


ZitatAber zum einen wollen wir keinen Server im Dauerbetrieb laufen lassen (die DB wird von einzelnen Freiberuflern genutzt)

und warum ist dieses so, falls du wegen der Freiberufler Sorgen hast bezüglich des Zugriffes auf den Server (Datensicherheit): du kannst den Terminal-Server so einrichten, dass die User von außen nur mit der DB arbeiten können.

Zitatzum Anderen kenne ich mich mit VPN und Terminalserver noch weniger aus als in Access 

ist auch nicht als Argument soo überzeugend, denn die einmalige Einrichtung eines VPN und des Terminal-Servers ist nicht so kompliziert;
ich hatte auch keine Ahnung davon, habe mir mal ein IT-Mann besorgt u. die Sache war relativ schnell erledigt und läuft bei uns mit mehreren Orten ohne Probleme!!

Replikationen sind doch ein Krampf

Gruß Oma