Benutzer mit den meisten Antworten
Access 2010 Fehler 3734

Frage
-
Hallo Zusammen,
Meine Datenbank läuft im Netzwerk. Leider bekomme ich immer wieder mal die Meldung: "Datenbank wurde von Rechner "x" in den Zustand versetzt, in dem sie nicht geöffnet oder gesperrt werden kann." Die Datenbank-Optionen sind bestimmt nicht auf "öffnen Exclusiv" eingestellt!
Was kann ich tun?
Antworten
-
Hallo Zusammen,
hier meine Rückmeldung zu dem Fehler 3734.
Der Fehler ist bis jetzt nicht mehr aufgetreten!!!
Was habe ich gemacht:
Über ein Script lösche ich, wenn es existiert ein Verzeichnis "c:\datenbanken", danach erstelle ich das Verzeichnis "c:\datenbanken". Jetzt kopiere ich aus dem Netzwerk das Frontend (accde) in das Verzeichnis "c:\datenbanken" und starte das Frontend.
Zu den Hinweisen von Henry:
Ich habe das Glück das alle Access Anwender in meinem Unternehmen die gleiche Access Version benutzen (Software Verteilung)
Das Script bricht ab, weil es das Verzeichnis nicht löschen kann, somit kann die Datenbank auch nicht ein zweites Mal gestartet werden.
Vielen Dank nochmal für alle Anregungen und Hinweise
Gruß Hans
- Als Antwort markiert hawaja Montag, 16. Juli 2012 11:51
Alle Antworten
-
Am 13.07.2012 schrieb hawaja:
Meine Datenbank läuft im Netzwerk. Leider bekomme ich immer wieder mal die Meldung: "Datenbank wurde von Rechner "x" in den Zustand versetzt, in dem sie nicht geöffnet oder gesperrt werden kann." Die Datenbank-Optionen sind bestimmt nicht auf "öffnen Exclusiv" eingestellt!
Ist die DB in Front- und Backend aufgeteilt? Wenn nein, hol das nach.
http://www.donkarl.com?FAQ1.35 Falls bereits eine Aufteilung
vorgenommen wurde, hat jeder Anwender sein eigenes Frontend? Wenn
nein, dann sorge dafür dass jeder sein eigenes Frontend hat.Servus
Winfried
Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
GPO's: http://www.gruppenrichtlinien.de
Community Forums NNTP Bridge: http://communitybridge.codeplex.com/ -
Hallo Winfried,
Meine Datenbanken liefen unter 2003 mit Frontend und Backend Jahre lang problemlos, erst seit der Umstellung auf Access 2010 treten die Probleme in unterschiedlichen Datenbanken auf. Jedem Anwender ein eigenes Frontend zu geben, halte ich aus Wartungsgründen nicht für sehr vorteilhaft weil ich bis jetzt einfach nach Änderung im Frondend die accde im Netzwerk ausgetausch habe.
Gibt es noch eine andere Lösung?
Gruß Hans
-
Am 13.07.2012 schrieb hawaja:
Meine Datenbanken liefen unter 2003 mit Frontend und Backend Jahre lang problemlos, erst seit der Umstellung auf Access 2010 treten die Probleme in unterschiedlichen Datenbanken auf. Jedem Anwender ein eigenes Frontend zu geben, halte ich aus Wartungsgründen nicht für sehr vorteilhaft weil ich bis jetzt einfach nach Änderung im Frondend die accde im Netzwerk ausgetausch habe.
Du mußt dich umstellen. Es gibt keine andere Lösung. Ob das für dich
Wartungsfreundlich ist oder nicht, spielt keine Rolle. Es nicht zu
machen ist nicht kundenfreundlich.Zum regelmässigen updaten gibt es genügend Möglichkeiten. Innerhalb
einer Windows Domain ist es ein Kinderspiel.Servus
Winfried
Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
GPO's: http://www.gruppenrichtlinien.de
Community Forums NNTP Bridge: http://communitybridge.codeplex.com/ -
Hallo hawaja
Ich lasse die Benutzer das Frontend jeweils durch einen klick auf eine CMD datei in Ihr Lokales C:Temp kopieren und öffnen.
Hat den Vorteil, dass wen du modifikationen durchführst der Benutzer jeweils die neuste Datei kopiert und öffnet.
Die Gemeinsam benutzten Tabellen legst du in eine Datenbank welche du im Netzlaufwerk speicherst. In dem Frontend verknüpfst du die Tabellen. Somit arbeiten alle mit dem eigenen Frontend bearbeiten aber die Daten gemeinsam im Backend.
Textdatei als .cmd gespeichert:
@echo off
echo.
echo.
echo.
echo Bitte warten...
echo.
echo Die Datenbank wird aus Performance Gruenden ins c:/Temp kopiert!
echo.
if exist C:\Temp\Datenbank.accdb DEL C:\Temp\Datenbank.accdb
copy "G:\DeinPfadZurDatenbank\Datenbank.accdb" C:\Temp\Datenbank.accdb
echo Starte Datenbank
C:\Temp\Datenbank.accdbGruss beat78
-
Hallo Zusammen,
vielen Dank für die schnellen Antworten, ich werde am Montag prüfen ob der Fehler durch ein Frontend für jeden Anwender das Problem löst. Desweiteren werde ich euch berichten wie ich die Verteilung des Frontends in Zukunft realisiere. Ich befürchte nur das die Verteilung des Frontends das Problem nicht löst. Der Fehler 3734 sagt aus das der Datensatz gesperrt wurde und ich vermute das die Sperrung in der laccdb des Backends realisiert wurde. Ich habe noch eine Anwendung Frondend accdb und Backend mdb wo dieser Fehler nicht auftaucht. Nur bei den Anwendungen die komplett auf Access 2010 umgestellt sind, entsteht diese Fehlermeldung.
Gruß Hans
-
Am 13.07.2012 schrieb Beat_78:
if exist C:\Temp\Datenbank.accdb DEL C:\Temp\Datenbank.accdb
copy "G:\DeinPfadZurDatenbank\Datenbank.accdb" C:\Temp\Datenbank.accdb
echo Starte Datenbank
C:\Temp\Datenbank.accdbWas machst Du, wenn es C:\Temp nicht gibt? Oder wenn der Benutzer kein
LW G:\ hat? Dann schlägt die Kopieraktion fehl.So würde es besser aussehen:
if exist "%temp%\DB.accdb" del "%temp%\DB.accdb"
copy "\\Server\Share\DB.accdb" 2%temp%\DB.accdb"
"%temp%\DB.accdb"Servus
Winfried
Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
GPO's: http://www.gruppenrichtlinien.de
Community Forums NNTP Bridge: http://communitybridge.codeplex.com/ -
Hallo Hawaja
On 14.07.2012 02:05, hawaja wrote:
Meine Datenbanken liefen unter 2003 mit Frontend und Backend Jahre lang
problemlos, erst seit der Umstellung auf Access 2010 treten die
Probleme in unterschiedlichen Datenbanken auf. Jedem Anwender ein
eigenes Frontend zu geben, halte ich aus Wartungsgründen nicht für sehr
vorteilhaft weil ich bis jetzt einfach nach Änderung im Frondend die
accde im Netzwerk ausgetausch habe.Dann hast Du das Whitepaper, das im link erwähnt wird (Betrieb von Access Anwendungen, gibt's im Downloadbereich des www.dbdev.org) nicht gelesen.
Wenn Du eine Starter Anwendung verwendest, ist dieses Verfahren mindestens so wartungsfreundlich, wie das von Dir benutzte Vorgehen. Du kopierst nämlich weiterhin nur Deine neue Frontend (vorteilhaft als MDE) auf das Netzwerklaufwerk und die Starteranwendung stellt dann sicher, dass der Benutzer die neuste Version erhält und startet. Für Dich gibt es ausser der Konfiguration der Starteranwendung nichts zu tun. Kommt hinzu, dass Du nun dem Benutzer lediglich einen Link auf die Starteranwendung geben musst (welche durchaus auf dem Netzwerk Laufwerk liegen darf) und die Anwendung dann automatisch installiert wird, falls diese nicht installiert ist und mit den richtigen Parametern gestartet wird.Versuch's mal und Du wirst vom genannten Problem verschont werden.
Gruss
Henry -
Hallo Beat_78
Deinem Ansatz fehlen einige wichtige Elemente:
- Die Versionskontrolle: Du kopierst immer, unabhängig davon, ob die neuste Version bereits installiert ist oder nicht
- Zwang, die neuste Version zu benutzen: Du stellst nicht sicher, dass der Benutzer immer die aktuelle Version benutzt. Wenn einer faul ist, wird er bald mal eine Frontend haben, die nicht mehr zur Backend passt
- Die Konfiguration stellt nicht sicher, dass immer die richtige Access Version gestartet wird
- Der Benutzer kann den Update starten, wenn die Anwendung bereits läuft, was zu einem unkontrollierten Verhalte führen kann, abhängig davon, in welchem Zustand sich die andere Instanz befindet.Verwende besser eine Starter Awendung, die z.B. auf Access oder VB basiert. Nebst der ziemlich einfachen Version (mit offenem Code), die's beim www.dbdev.org im Download Bereich gibt, gibt's auch nocht die ziemlich professionelle (und ebenfalls kostenfreie) Ausführung von Tony Toews, genannt AutoFE. Suche nach AutoFE und Du wirst diese finden.
Gruss
HenryOn 14.07.2012 04:11, Beat_78 wrote:
Hallo hawaja
Ich lasse die Benutzer das Frontend jeweils durch einen klick auf eine
CMD datei in Ihr Lokales C:Temp kopieren und öffnen.
Hat den Vorteil, dass wen du modifikationen durchführst der Benutzer
jeweils die neuste Datei kopiert und öffnet.
Die Gemeinsam benutzten Tabellen legst du in eine Datenbank welche du
im Netzlaufwerk speicherst. In dem Frontend verknüpfst du die Tabellen.
Somit arbeiten alle mit dem eigenen Frontend bearbeiten aber die Daten
gemeinsam im Backend.
Textdatei als .cmd gespeichert:@echo off
echo.
echo.
echo.
echo Bitte warten...
echo.
echo Die Datenbank wird aus Performance Gruenden ins c:/Temp
kopiert!
echo.
if exist C:\Temp\Datenbank.accdb DEL C:\Temp\Datenbank.accdb
copy "G:\DeinPfadZurDatenbank\Datenbank.accdb" C:\Temp\Datenbank.accdb
echo Starte Datenbank
C:\Temp\Datenbank.accdb
Gruss beat78 -
Hallo Zusammen,
hier meine Rückmeldung zu dem Fehler 3734.
Der Fehler ist bis jetzt nicht mehr aufgetreten!!!
Was habe ich gemacht:
Über ein Script lösche ich, wenn es existiert ein Verzeichnis "c:\datenbanken", danach erstelle ich das Verzeichnis "c:\datenbanken". Jetzt kopiere ich aus dem Netzwerk das Frontend (accde) in das Verzeichnis "c:\datenbanken" und starte das Frontend.
Zu den Hinweisen von Henry:
Ich habe das Glück das alle Access Anwender in meinem Unternehmen die gleiche Access Version benutzen (Software Verteilung)
Das Script bricht ab, weil es das Verzeichnis nicht löschen kann, somit kann die Datenbank auch nicht ein zweites Mal gestartet werden.
Vielen Dank nochmal für alle Anregungen und Hinweise
Gruß Hans
- Als Antwort markiert hawaja Montag, 16. Juli 2012 11:51
-
Am 16.07.2012 schrieb hawaja:
Das Script bricht ab, weil es das Verzeichnis nicht löschen kann, somit kann die Datenbank auch nicht ein zweites Mal gestartet werden.
Zeig doch bitte das Script zum löschen/leeren des Verzeichnisses, das
kann man sicherlich verbessern. ;)Servus
Winfried
Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
GPO's: http://www.gruppenrichtlinien.de
Community Forums NNTP Bridge: http://communitybridge.codeplex.com/