Der BMed.Exporter meldet gesperrte b-med-3-Dateien — wie finde ich, wer sie offen hält?

Der BMed.Exporter meldet gesperrte b-med-3-Dateien — wie finde ich, wer sie offen hält?

Schritt für Schritt

  1. Meldung lesen: Der Exporter nennt bei Bestand prüfen jede gesperrte Datei, zum Beispiel Kunde.ntb, Artikel.ntb sind gesperrt.
  2. b-med überall beenden: Schließe b-med auf jedem Arbeitsplatz, der mit diesem Datenordner arbeitet, und auf dem Terminalserver in jeder Sitzung.
  3. Getrennte Sitzungen abmelden: Auf dem Terminalserver öffnest Du den Task-Manager, wechselst zum Reiter Benutzer und meldest Sitzungen mit dem Status Getrennt ab. Eine getrennte Sitzung lässt b-med weiterlaufen, auch wenn niemand mehr davor sitzt.
  4. Sperrenden auf dem Dateiserver suchen: Hält immer noch jemand die Datei, öffnest Du auf dem Server mit dem b-med-Datenordner Computerverwaltung → System → Freigegebene Ordner → Geöffnete Dateien. Dort steht, welcher Benutzer die Datei offen hält. Unter Sitzungen im selben Ordner siehst Du, an welchem Rechner dieser Benutzer angemeldet ist.
  5. Prüfung wiederholen: Klicke im Exporter erneut auf Bestand prüfen. Erst wenn keine Datei mehr gesperrt ist, lässt sich der Export starten.

Überblick

Der Exporter liest die b-med-3-Dateien (*.ntb, *.mtb) direkt aus dem Datenordner und schreibt nichts in b-med zurück. Ab Version 1.23.1 liest er auch Dateien, die b-med auf einem anderen Arbeitsplatz gerade geöffnet hat.

„Gesperrt“ heißt mehr als „geöffnet“: Ein Programm hält die Datei so offen, dass kein anderes sie lesen darf. Das sind meist b-med-Sitzungen, die nicht sauber beendet wurden, Dienste, die b-med im Hintergrund starten, oder eine Datensicherung, die gerade läuft.

Ist eine Datei gesperrt, startet der Export nicht. Er bräche sonst erst an dieser Datei ab, oft nach vielen Minuten Laufzeit, und Du müsstest ihn nach dem Beenden von b-med ohnehin neu starten. Entsteht eine Sperre erst während des Laufs, bricht der Export mit derselben Meldung ab.

Voraussetzungen

Sperrende per PowerShell finden

Auf dem Dateiserver zeigt eine PowerShell mit Administratorrechten alle geöffneten b-med-Dateien samt Benutzer und Rechner:

Get-SmbOpenFile | Where-Object { $_.Path -match '\.(ntb|mtb)$' } | Select-Object ClientUserName, ClientComputerName, Path

Beende b-med beim angezeigten Benutzer am angezeigten Rechner. Die Datei auf dem Server von Hand zu schließen (Close-SmbOpenFile oder Geöffnete Datei schließen), geht zwar auch, kann aber Änderungen verwerfen, die b-med noch nicht gespeichert hat. Nutze das nur, wenn sich b-med nicht anders beenden lässt.

FAQ

F: Alle haben b-med geschlossen, und die Dateien sind trotzdem gesperrt. Woran liegt das?

A: Meist an einer getrennten Terminalserver-Sitzung oder an einem Dienst. Auf dem Dateiserver zeigt Geöffnete Dateien, welcher Benutzer die Datei noch hält, und Sitzungen, an welchem Rechner er angemeldet ist.

F: Der Exporter meldet, eine Datei sei „noch geöffnet, meist von b-med“. Ist das ein Fehler?

A: Nein. Der Exporter hat die Datei trotzdem gelesen, die Zahlen sind eine Momentaufnahme. Für einen Probeexport ist das in Ordnung. Für den endgültigen Export beendest Du b-med überall, damit keine Änderung während des Lesens verloren geht.

F: Früher kam der Hinweis, ich hätte vermutlich den b-med-Hauptordner gewählt. Stimmte das?

A: Nicht, wenn die Dateien gesperrt waren. Bis Version 1.23.0 hielt der Exporter gesperrte Dateien für leer und vermutete deshalb den falschen Ordner. Ab Version 1.23.1 meldet er die Sperre als Sperre.

F: Welche Version des Exporters habe ich?

A: Oben rechts im Fenster stehen Version, Build-Datum und Commit-Kürzel. Dieselbe Zeile steht am Anfang jeder Logdatei.

Verwandte Themen


Letzte Aktualisierung: 2026-10-20

Zur Wissensdatenbank