AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Fehlermeldung: Zugriff auf DBF gesperrt
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlermeldung: Zugriff auf DBF gesperrt

Ein Thema von ggscholz · begonnen am 22. Sep 2024 · letzter Beitrag vom 30. Sep 2024
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von dummzeuch
dummzeuch
Online

Registriert seit: 11. Aug 2012
Ort: Essen
1.604 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

AW: Fehlermeldung: Zugriff auf DBF gesperrt

  Alt 27. Sep 2024, 10:45
Wäre denn eine Umstellung auf das direkte Lesen der DBF-Dateien denkbar.
Das könnte dann z.B. über TDBF https://sourceforge.net/projects/tdbf erfolgen.
Aber nur für Programme, die unter der GPL lizenziert sind oder die vom Entwickler eine andere Lizenz bekommen haben.

Letzteres geht aber eher nicht mehr, da eigentlich niemand eine solche Lizenz vergeben kann, selbst der originale Entwickler nicht, da inzwischen jede Menge andere zum Projekt beigetragen haben.
Thomas Mueller
  Mit Zitat antworten Zitat
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
491 Beiträge
 
Delphi 12 Athens
 
#12

AW: Fehlermeldung: Zugriff auf DBF gesperrt

  Alt 27. Sep 2024, 13:45
Wäre denn eine Umstellung auf das direkte Lesen der DBF-Dateien denkbar.
Das könnte dann z.B. über TDBF https://sourceforge.net/projects/tdbf erfolgen.
Aber nur für Programme, die unter der GPL lizenziert sind oder die vom Entwickler eine andere Lizenz bekommen haben.

Letzteres geht aber eher nicht mehr, da eigentlich niemand eine solche Lizenz vergeben kann, selbst der originale Entwickler nicht, da inzwischen jede Menge andere zum Projekt beigetragen haben.
Ich bin nicht so der Experte für die LGPLv2.
Da habe ich die Antword vom Gemini wohl falsch verstanden.
Das meint Gemini dazu
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch
Online

Registriert seit: 11. Aug 2012
Ort: Essen
1.604 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#13

AW: Fehlermeldung: Zugriff auf DBF gesperrt

  Alt 27. Sep 2024, 15:15
Wäre denn eine Umstellung auf das direkte Lesen der DBF-Dateien denkbar.
Das könnte dann z.B. über TDBF https://sourceforge.net/projects/tdbf erfolgen.
Aber nur für Programme, die unter der GPL lizenziert sind oder die vom Entwickler eine andere Lizenz bekommen haben.

Letzteres geht aber eher nicht mehr, da eigentlich niemand eine solche Lizenz vergeben kann, selbst der originale Entwickler nicht, da inzwischen jede Menge andere zum Projekt beigetragen haben.
Ich bin nicht so der Experte für die LGPLv2.
Da habe ich die Antword vom Gemini wohl falsch verstanden.
Das meint Gemini dazu
Upps, da habe ich mich auf der verlinkten Seite glatt verlesen. Ich hatte das "L" bzw. "Lesser" übersehen.

Zitat von Gemini:
Kombination mit proprietärer Software: Im Gegensatz zur GPL (General Public License) erlaubt die LGPLv2, dass die Software in proprietäre Programme eingebunden wird, solange bestimmte Bedingungen erfüllt sind.
Wobei zu klären wäre, was unter "solange bestimmte Bedingungen erfüllt sind" zu verstehen ist. Ich persönlich lasse bei der Entwicklung kommerzieller Software von allem, wo "GNU" drin vorkommt, die Finger. Um diese Lizenzen rechtssicher einzuhalten braucht man inzwischen ein Jurastudium, und zwar eines, das internationales Recht abdeckt.

Nochmal laut Gemini:
Zitat von Gemini:
Konkrete Anforderungen:

Die genaue Umsetzung hängt von der Art der Verknüpfung und der Verteilung ab. Die LGPLv2 definiert verschiedene Szenarien und die damit verbundenen Anforderungen. Hier sind einige Beispiele:
...
Statische Verknüpfung:
Die Bibliothek wird direkt in Ihre Software eingebunden.
Sie müssen den Quellcode der gesamten Software (einschließlich der Bibliothek) zur Verfügung stellen.
Wenn das stimmt (für mich klingt das mehr nach GPL) dürfte man TDBF nicht eincompilieren sondern müsste Runtime Packages verwenden. Spätestens damit wäre es für mich außen vor.
Thomas Mueller

Geändert von dummzeuch (27. Sep 2024 um 15:19 Uhr)
  Mit Zitat antworten Zitat
ggscholz

Registriert seit: 20. Nov 2013
Ort: Aachen
64 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Fehlermeldung: Zugriff auf DBF gesperrt

  Alt 27. Sep 2024, 16:10
Die *.dbf könnte auch Teil einer *.dbc sein.

Gibt es denn eine *.cdx?
Ja die gibt's. Es sind 2 DBF Dateien beide haben eine CDX- Datei, eine der beiden Datei hat noch zusätzlich eine FPT Datei. Und ganau bei dieser diese zickt es beim öffnen.

Ich hab mich nicht weiter mit den Dateien beschäftigt und war davon ausgegangen, das der TDBFUniProvider von devart das hinbekommt, da alle Dateien im Verzeichniss vorhanden sind. Ich mache jetzt (hatte ich das schon geschrieben?) eine Kopie über Nacht in ein eigenes Verzeichniss, das ist für mich ausreichend aktuell und ich komme nicht mit anderen ins gehege. Es könnte ja auch mal sein, deis mein Programm die Verbindung nicht beendet.

Das Kopieren funktionert (bisher) ohne Fehler, 7zip weigert sich regelmäßig, weil andere auf die Dateien zugreifen. Seis drum, ich hab eine Lösung.

Und die weiteren Hinweise hier im Tread - herzlichen Dank dafür - ich komme zurecht, und ich schätze mal, das devart da nicht viel anders, ist als die genannte Komponente TDBF.

Beste Grüße

Gerd
Gerd
  Mit Zitat antworten Zitat
Alfredo

Registriert seit: 4. Mär 2008
Ort: München
273 Beiträge
 
Delphi 12 Athens
 
#15

AW: Fehlermeldung: Zugriff auf DBF gesperrt

  Alt 27. Sep 2024, 19:50
Hier die Erklärung warum die 2. Datei zickt.

https://docs.fileformat.com/de/datab...rwendet%2C%20z.


Ich habe leider keine Erfahrung wie man auf Dateien mit Memofeldern zugreift.
  Mit Zitat antworten Zitat
Alfredo

Registriert seit: 4. Mär 2008
Ort: München
273 Beiträge
 
Delphi 12 Athens
 
#16

AW: Fehlermeldung: Zugriff auf DBF gesperrt

  Alt 27. Sep 2024, 20:37
https://www.independent-software.com...le-format.html

M.E. braucht die 2. Datei andere Zugriffsinformationen wie die einfache dbf.
  Mit Zitat antworten Zitat
Alfredo

Registriert seit: 4. Mär 2008
Ort: München
273 Beiträge
 
Delphi 12 Athens
 
#17

AW: Fehlermeldung: Zugriff auf DBF gesperrt

  Alt 28. Sep 2024, 22:23
Ich habe mal das mit dem Memofeld getestet.

Die FPT entsteht wenn man in VFP 9.0 ein Feld mit "memo" anlegt

Die CDX entsteht wenn man in VFP 9.0 ein Feld mit Index versieht.

In Delphi mit ODBC kann ich mir die testm4.dbf anzeigen lassen.

Das Feld Anschrift kann ich mir in TDBMemo anzeigen lassen.

Beim Erfassen und ändern der Daten gibt es jedoch derzeit Probleme.

Es liegt also hier eine einfache *.dbf mit Index und einem Memofeld vor.
Angehängte Dateien
Dateityp: zip DP_testm4.zip (801 Bytes, 0x aufgerufen)
  Mit Zitat antworten Zitat
johndoe049

Registriert seit: 22. Okt 2006
169 Beiträge
 
#18

AW: Fehlermeldung: Zugriff auf DBF gesperrt

  Alt 28. Sep 2024, 22:59
Ich habe mal das mit dem Memofeld getestet.

Die FPT entsteht wenn man in VFP 9.0 ein Feld mit "memo" anlegt

Die CDX entsteht wenn man in VFP 9.0 ein Feld mit Index versieht.

In Delphi mit ODBC kann ich mir die testm4.dbf anzeigen lassen.

Das Feld Anschrift kann ich mir in TDBMemo anzeigen lassen.

Beim Erfassen und ändern der Daten gibt es jedoch derzeit Probleme.

Es liegt also hier eine einfache *.dbf mit Index und einem Memofeld vor.
Wo gibt es die Probleme? In der VFP Anwendung oder TDBMemo?

Es gibt übrigens nicht nur VFP9. Die gab es in 4 Versionen:
VFP9
VFP9 mit SP1
VFP9 mit SP2
VFP9 als Komplettdownload aus 2008. Sollte zwar identisch mit SP2 sein, war aber noch etwas aktueller.

Die englische Version hatte dann nochmal einen anderen Versionsstand.

Interessant ist diese information nur, weil sich das Dateihandling und das Verhalten der Runtime je nach Version unterscheidet. Wäre als hilfreich zu prüfen, ob die Runtime mit der Vollversion von VFP9, mit der die Anwendung erstellt wurde, auch übereinstimmt.

Bei einigen Anwendungen gab es den Effekt, dass zwar die dbf geschlossen wurde, aber der Dateihandler für die cdx Datei noch offen blieb. Auch bei Programmende der VPF Anwendung. Es gibt im Hintergrund noch eine VFP Runtime, die unabhängig von der Anwendung laufen kann, wenn die sich nicht selbst bei Programmende mit beendet. D.h. die kann eine Datei noch blockieren, auch wenn die Anwendung diese eigentlich schon geschlossen hat.

Das ODBC hat ein kleines bischen anderes Dateiformat als VFP9 ohne SP2. Es hab hierfür einen eigenen ODBC Update Treiber. Datei war die vfpoledb.exe aus 2006. Damit konnten dann alle Eigenheiten der dfb Struktur verwendet werden.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#19

AW: Fehlermeldung: Zugriff auf DBF gesperrt

  Alt 29. Sep 2024, 17:59
Bei einigen Anwendungen gab es den Effekt, dass zwar die dbf geschlossen wurde, aber der Dateihandler für die cdx Datei noch offen blieb. Auch bei Programmende der VPF Anwendung. Es gibt im Hintergrund noch eine VFP Runtime, die unabhängig von der Anwendung laufen kann, wenn die sich nicht selbst bei Programmende mit beendet. D.h. die kann eine Datei noch blockieren, auch wenn die Anwendung diese eigentlich schon geschlossen hat.
Die Fehlermeldung klingt sehr stark nach diesem Effekt.

Kenne das aus früheren Zeiten mit der BDE. Dort konnte es auch passieren, dass Dateien gesperrt waren und blieben, bis man alle Programme, die irgendwie die BDE nutzten, beendet hatte. Beim "Killen" per Taskmanager konnten noch Handles offen bleiben, dann half nur ein Rechnerneustart.

Solange es sich beim Programm nicht um eine Mehrplatzsystem handelt, könnte es einen Versuch wert sein, den Rechner neu zu starten und dann sofort aus Delphi heraus auf die Dateien zuzugreifen, ohne dass das FoxPro-Programm gestartet wurde. Ist der Fehler dann weg, liegt es am oben beschriebenen Fehler. Andernfalls müssen alle Rechner mal neu gestartet werden ohne das FoxPro-Programm zu starten. Kann etwas mühselig werden, ist aber eventuell ein Ansatz zur Fehlereingrenzung.
  Mit Zitat antworten Zitat
johndoe049

Registriert seit: 22. Okt 2006
169 Beiträge
 
#20

AW: Fehlermeldung: Zugriff auf DBF gesperrt

  Alt 29. Sep 2024, 19:14
Die Fehlermeldung klingt sehr stark nach diesem Effekt.

Kenne das aus früheren Zeiten mit der BDE. Dort konnte es auch passieren, dass Dateien gesperrt waren und blieben, bis man alle Programme, die irgendwie die BDE nutzten, beendet hatte. Beim "Killen" per Taskmanager konnten noch Handles offen bleiben, dann half nur ein Rechnerneustart.

Solange es sich beim Programm nicht um eine Mehrplatzsystem handelt, könnte es einen Versuch wert sein, den Rechner neu zu starten und dann sofort aus Delphi heraus auf die Dateien zuzugreifen, ohne dass das FoxPro-Programm gestartet wurde. Ist der Fehler dann weg, liegt es am oben beschriebenen Fehler. Andernfalls müssen alle Rechner mal neu gestartet werden ohne das FoxPro-Programm zu starten. Kann etwas mühselig werden, ist aber eventuell ein Ansatz zur Fehlereingrenzung.
Oder man zieht mal das Netzwerkkabel bei einer Mehrplatzumgebung raus, startet die Delphi Software lokal und hat dann auch mehr Informationen über das Problem.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz