Abfrage über mehrere Datenbanken

Hallo zusammen,

ich habe ca 50 gleichartige Access2003 Datenbanken, mit sich ständig ändernden Daten, Struktur ist in jeder DB gleich, Datensatzanzahl pro DB zwischen 100 und 3000.
Gibts eine Möglichkeit in einer weiteren Datenbank eine Suchroutine zu installieren, die mich einen Datensatz in den anderen 50 DB’s in einer vertretbaren Zeit finden läßt.
Ps: die Anzahl und die Speicherorte ändern sich ständig, d.h. neue kommen hinzu und alte verschwinden ins Archivverzeichnis.

Brauche 'ne Aussage ob sowas geht oder ich irgendwie einen anderen Ansatz finden muß

Gruß kurt

VB-Client, Abfragedienst, Netzwerkbroadcast
Hallo Kurt,
wenn ich das richtig verstanden habe, befinden sich also die 50 DBs auf verschiedenen PCs, die nur zeitweise mit dem zentralen Netzwerk verbunden sind und sonst ‚offline‘ mit der eigenen Access-DB arbeiten.
Dann hätte ich 2 Ideen: (quasi eine Push- und eine Pull-Version)
A) Ein VB-Programm, das sich auf jedem Client beim Hochfahren über AutoStart-Programmgruppe oder als Dienst automatisch startet und dabei prüft, ob der zentrale Server erreichbar ist, kopiert die lokalen Daten automatisch in eine zentrale Datenbank am Server, aus der sie dann schnell und einfach abgefragt werden können.
B) Bei einer Abfrage von der Serverseite aus sendet ein VB-Programm einen Netztwerkbroadcast zB per UDP-WinSock auf einem bestimmten Port und ein auf jedem Client installierter VB-Dienst meldet sich dann zurück wenn er erreicht wurde (online ist).
Dann sendet der Server an alle erreichten Clients die SQL-Abfrage, die Client-Dienste führen sie jeweils bei sich aus (also parallel = schnell) und senden dem Server das Ergebnis als XML-String zurück, der diese dann zusammensetzt und als Gesamtergebnis präsentiert.

Alle Angaben sind ohne Gewähr
Gruß,
Die Borg

hallo Die Borg,

die Datenbanken befinden sich alle auf einem Server, in sich ändernden Verzeichnissen und sind im normalfall geschlossen. Aber dein Vorschlag gedenke ich doch zu verwenden, auf das „parallel“ kommts an, um Zeit zu sparen, ich werde also versuchen, von jeder DB den Antwortstring selbst bzw von einem im selben Verzeichnis stehenden kleinem .exe selbst generieren zu lassen, statt alle mit einer Schleife von einem zentralen Programm nacheinander zu öffnen. Wie ich das machen kann wird mir schon einfallen.

Vielen Dank Gruß kurt

Pseudoparallel, Zentrale DB
Hallo Kurt,
wenn das so ist, wundert es mich, warum es dann statt der vielen DBs keine einzelne zentrale DB gibt und wer oder was die Daten in die DBs hineinschreibt?
Und wenn 50 Programme gleichzeitig (anders als ich dachte) alle auf einem Server laufen, dann ist das ja nicht wirklich ‚parallel‘ (es sei denn, der Server hat 64 CPUs) und kann mehrere hundert MB Speichernutzung und Minuten an Vollauslastung bedeuten.
Demnach sehe ich den elegantesten Ansatz eher in einer einzelnen zentralen DB.
Gruß,
Michael

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]