ACC97: Datenbank crash in Netzbetrieb

Hi!

Ich habe ein seltsames Problem mit unserer Access97 Datenbank.
Zehn Cliens (WIN2k) greifen auf eine Acces97 Datenbank auf einem Fileserver (WIN98 - ich weiss!!!) zu.
Die Datenbank ist User-Level Secured und es passiert fast jeden Tag, dass sich die Datenbank zerstört! Passiert ganz unerwartet und die Datenbank lässt sich dann auf nicht mehr reparieren und es kommt nur mehr eine Meldung dass das File zerstört ist oder es sich nicht um ein mdb-File handelt!

Vor dem letzten Absturz hat jemand nur versucht eine neue Abfrage zu erstellen und plötzlich ging gar nichts mehr!

Vielleicht weiss jemand Rat?
Vielen Dank!
Gernot

Wie sieht der Zugriff denn aus? Ist die Datenbank denn aufgeteilt? Liegen die Frontends lokal auf den Client-Rechnern?
Ist überall das Jet-3.51-Update eingespielt bzw. die neueste Version der Jet-3.51-Engine vorhanden?

Ansonsten: Siehe auch http://www.donkarl.com/FAQ/FAQ1Grundlagen.htm#1.27 (FAQ 1.27)

Gruß aus dem Norden
Reinhard Kraasch
(http://www.kraasch.de - Access Tipps & Tricks)

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

Reinhard, danke erst mal für die rashce Antwort!
meine Antoworten siehe unten!

Wahrscheinlich wird es besser sein, die DB in Frontend und Backend aufzuteilen, aber das Update der Frontenddb wir dann etwas schwieriger und die BackendDB sollte dazu noch repliziert werden für offline Eingabe der Mobile User!
Nochmals Danke!
Gernot

Wie sieht der Zugriff denn aus?

Gernot: DB liegt auf einem Netzlaufwerk und alle User greifen auf die selbe DB zu!

Ist die Datenbank denn aufgeteilt?

Gernot: Nein, alles ist in einer DB gespeichert, diese ist User-level secured und sollte auch replizeirbar gemacht werden, aber durch die Abstürze habe ich das bisweilen gelassen!

Liegen die Frontends lokal auf den Client-Rechnern?

Gernot: keine Frontends!

Ist überall das Jet-3.51-Update eingespielt bzw. die neueste
Version der Jet-3.51-Engine vorhanden?

Gernot: Ich habe auf allen Rechnern das Jet35sp3.exe aufgespielt!

Ansonsten: Siehe auch
http://www.donkarl.com/FAQ/FAQ1Grundlagen.htm#1.27 (FAQ 1.27)

Gruß aus dem Norden
Reinhard Kraasch
(http://www.kraasch.de - Access Tipps & Tricks)

Hi!

Ich habe ein seltsames Problem mit unserer Access97 Datenbank.
Zehn Cliens (WIN2k) greifen auf eine Acces97 Datenbank auf
einem Fileserver (WIN98 - ich weiss!!!) zu.
Die Datenbank ist User-Level Secured und es passiert fast
jeden Tag, dass sich die Datenbank zerstört! Passiert ganz
unerwartet und die Datenbank lässt sich dann auf nicht mehr
reparieren und es kommt nur mehr eine Meldung dass das File
zerstört ist oder es sich nicht um ein mdb-File handelt!

Vor dem letzten Absturz hat jemand nur versucht eine neue
Abfrage zu erstellen und plötzlich ging gar nichts mehr!

Vielleicht weiss jemand Rat?
Vielen Dank!
Gernot

Ja, in der Tat, Aufteilen wird sicher einiges an Stabilität bringen.

Die Update-Problematik kann man durch ein kleines Script, das beim Login die jeweils aktuelle Version vom Server holt, in den Griff bekommen. Und Replikation des Backends sollte auch nicht das Problem sein (sollte sogar einfacher als bei einer nicht-aufgeteilten Datenbank sein, da es ja nur um Tabellen geht).

Gruß aus dem Norden
Reinhard Kraasch (http://www.kraasch.de - Access Tipps & Tricks)

Reinhard!

Ich hatte bereits eine sochle Variante im Einsatz! Inklusive Auswahl beim Start ob man die ServerDB (DeignMaster) oder eine lokale (replizierte DB) verwenden möchte war integriert (einfach durch umkopieren der Tabellennamen.
Aber das einzig ungelöste Problem hatte ich mit dem Update!

Grunbsätzlich: wie ist es möglich diese Updatefunktion mittels dem von dir angesprochenen Script durchzuführen, meinst du mit Windows Scripting durch kopieren der FrontendDB? Oder beim Öffnen der FrontendDB alles, bis auf die Tabellen natürlich, neu zu importieren?
Naja und dann braucht es noch der Umsetzung des Updateintervalls.
Der Admin (ich) sollte entscheiden wenn ein Update notwendig ist und erst dann sollte dies automatisch für jeden User beim nächsten Aufruf der DB geschehen und zwar nur einmal! Hast du so was schon mal gemacht? Ein kleiner Tip bzw. Ansatz wäre da sehr hilfreich!

Vielen Dank!
Gernot

Ja, in der Tat, Aufteilen wird sicher einiges an Stabilität
bringen.

Das geht doch viel einfacher - du führst eine simple Batchdatei der Art:

COPY \\MeinServer\Verzeichnis\Meine.MDB C:\Programme\MeinVerzeichnis

… bei jedem Login aus. Die Update-Intervalle legst du dadurch fest, dass du halt nur dann eine Datei in \MeinServer\Verzeichnis ablegst, wenn eine neue Version bereitsteht. (Getestet wird natürlich anderswo!)

Tabellenverknüpfungen musst du entweder für alle Clients gleich gestalten oder in einer lokalen Ressource ablegen und nach Installation einer neuen Version neu setzen.

Gruß aus dem Norden
Reinhard Kraasch
(http://www.kraasch.de - Access Tipps & Tricks)

Hallo,

Vielleicht interessiert euch mein Ansatz:

Meine Anwendung beinhaltet grundsätzlich ein Front- bzw. ein Backend. BE liegt am Server/ Front am Client. Weiters existiert ein sog. Steuermodul.

Bei jedem Start eines Frontends wird die Clientversion mit der Version (Eintrag in einer lokalen Tabelle z.B. 1.2) die am Server liegt verglichen.
Kopiert nun der Admin einen neuen Clientfile auf den Server (dieser Clientfile wird *nicht* direkt geöffnent) passiert bei jedem installierten Client folgendes:

1.) Das Steuermodul wird gestartet - im Steuermodul wird eine Zeitverzögerung für einen Kopiervorgang gestartet (z.B. 5 Sekunden).
2.) Während dieser Verzögerung werden durch den noch laufenden Client alle noch benötigten Einstellungen etc. in entsprechende Tabellen des Steuermodules kopiert.
3.) Client wird geschlossen
4.) Das Steuermodul kopiert (per API) die neue, am Server bereitliegende, Version auf den Client und überschreibt damit die Ältere
5.) Das Steuermodul kopiert die vorher gesicherten Daten in die neue Clientversion retour
6.) Das Steuermodul könnte jetzt eventuell noch die neue Version starten
7.) Das Steuermodul beendet sich selbst

Als Feature hab ich im Client noch eine Prozedur eingebaut, die beim Ersten Start der neuen Version eine Art Willkommensmeldung ausgiebt - hier sind z.B. die Neuerungen aufgelistet.

Ihr werdet lachen…aber es funktioniert *fg*

Greets,
Roland

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

Ja, das ist dann wohl die Mercedes-Version meines Vorschlags ;=)

Gruß aus dem Norden
Reinhard Kraasch
(http://www.kraasch.de - Access Tipps & Tricks)