Zum Inhalt springen

FileNotFoundException bei Login-Versuch an H2-Datenbank


Alex_winf01

Empfohlene Beiträge

ch habe bei meinem Laptop ein kleines Problem mit meiner H2 Database:

Sobald ich mich an der Datenbank anmelden möchte, bekomme ich folgende Fehlermeldung:

Eingabe/Ausgabe: java.io.FileNotFoundException: c:\ProgramFiles\H2\bin\test.lock.db (Zugriff verweigert)

Die JDBC URL ist richtig (jdbc:h2:tcp://localhost:9092/test), der Port ist freigegeben und auch bei der Firewall bekannt. Benutzername und Passwort sind auch richtig.

Betriebssystem ist Vista.

Woran kann das liegen? Auf einem anderen Rechner mit genau den selben Einstellungen funktioniert die Sache (nur ist auf dem anderen Rechner Windows XP Prof drauf).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ohne dass man jetzt genauere Kenntnisse über die Umgebung hat, lässt alleine die Fehlermeldung darauf schließen, dass Dein aktueller Prozess die Datei nicht öffnen darf. Hierzu wären einmal die Dateirechte zu prüfen und/oder welcher andere Prozess die Datei gesperrt hat.

Phil

P.S.: Die Aussage "auf anderen Rechnern läuft es aber" ist absolut sinnlos, da keine Ausssage über deren Konfiguration getroffen ist. Ich gehe bei der Aussage weder von physikalisch identischen Maschinen und Konfiguration aus

Bearbeitet von flashpixx
Link zu diesem Kommentar
Auf anderen Seiten teilen

Sobald ich mich an der Datenbank anmelden möchte, bekomme ich folgende Fehlermeldung: [...]

Die Fehlermeldung ist doch eindeutig, oder? Die Datei, in der die Daten liegen kann vom Betriebssystem nicht geöffnet werden, da entweder die notwendigen Rechte nicht vorhanden sind oder aber die Datei bereits gelocked ist.

Kann es sein, dass du mit einer anderen Applikation schon eine zweite Verbindung auf die DB offen hast? Dann hat genau diese Applikation die Datei für weiteren Zugriff gesperrt. Oder irgendein Editor hat die Datei geöffnet, oder irgendein anderen Programm hält den Lock.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nein, mit einer zweiten Applikation gehe ich nicht drauf.

Das will ich mal nicht so sagen, denn ...

Ich starte über eine bat-Datei den Server, die Weboberfläche startet und ich möchte mich einloggen.

was macht die Bat-Datei und was macht das Programm intern. Ein Prozess (Thread) kann die Datei blockieren, ein zweiter Thread, der die Datei liest, produziert dann genau diesen Fehler.

Für Windows siehe Filemon

Und noch etwas generelles: Einfach zu sagen "ich mache das nicht", ist nicht hilfreich, denn irgendwas scheint ja schief zu laufen, aus welchen Gründen auch immer. Wie schon gesagt, prüfe die Zugriffsrechte / evtl sperrende Prozesse, erst dann kann man Dir wirklich weiter helfen

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

was macht die Bat-Datei und was macht das Programm intern. Ein Prozess (Thread) kann die Datei blockieren, ein zweiter Thread, der die Datei liest, produziert dann genau diesen Fehler.

Dann müsste das Problem auf dem anderen Rechner auch bestehen - da muss ich den Server auch entsprechend mit der bat-Datei starten.

Die H2 Database kann ich einmal Embedded-Modus oder im Server-Modus fahren. Damit ich im Server-Modus fahren kann, habe ich gemäß Dokumentation eine kleine BAT-Datei geschrieben. Und die funktioniert auch. Dann müsste ich diese Fehlermeldung auch überall bekommen, wo ich die Datenbank installiert habe und diese bat-Datei starte um in den Server-Modus zu gelangen. Tut es aber nicht. Ich bekomme diese Fehlermeldung nur auf dem Laptop.

Zugriffsrechte sind zugewiesen. Ich habe alle nicht benötigten Prozesse gestoppt und die Anwendung neu gestartet und habe immer noch das selbe Problem.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die H2 Database kann ich einmal Embedded-Modus oder im Server-Modus fahren. Damit ich im Server-Modus fahren kann, habe ich gemäß Dokumentation eine kleine BAT-Datei geschrieben. Und die funktioniert auch. Dann müsste ich diese Fehlermeldung auch überall bekommen, wo ich die Datenbank installiert habe und diese bat-Datei starte um in den Server-Modus zu gelangen. Tut es aber nicht. Ich bekomme diese Fehlermeldung nur auf dem Laptop.

Wenn das DBMS so unterstützt, dann hast Du auch schon validiert, dass Deine Anwendung nicht zufällig versucht die Datenbank dateibasiert zu öffnen, obwohl der Serverdienst läuft

Zugriffsrechte sind zugewiesen. Ich habe alle nicht benötigten Prozesse gestoppt und die Anwendung neu gestartet und habe immer noch das selbe Problem.

Bevor ich hier wieder eine elendig lange Diskussion über "ich hab doch" führe, sei noch einmal der Hinweis auf das Programm Filemon gegeben, mit dem Du Dir explizit anzeigen lassen kannst, wer bzw was welche Datei blockiert. Poste die Ausgabe bezüglich dieser Datei, dann können wir weiter diskutieren

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dann müsste das Problem auf dem anderen Rechner auch bestehen
Wie kommst du darauf? Vielleicht wird auf einem anderen Rechner (aus welchen Gründen auch immer) das File-Locking anders geregelt.

Darum kann ich mich nur anschließen:

sei noch einmal der Hinweis auf das Programm Filemon gegeben [...] . Poste die Ausgabe bezüglich dieser Datei, dann können wir weiter diskutieren
Link zu diesem Kommentar
Auf anderen Seiten teilen

@ perdian

Es ist dieselbe Applikation, mit derselben Datenbank, mit denselben Einstellungen, mit demselben File-Locking. Und: Ja, das kann ich wissen, da ich die Software entwickelt habe und die Datenbank installiert habe und diese auch administriere.

@ flashpixx

Wenn das DBMS so unterstützt, dann hast Du auch schon validiert, dass Deine Anwendung nicht zufällig versucht die Datenbank dateibasiert zu öffnen, obwohl der Serverdienst läuft

Ja, hab ich getestet. Da muss ich der Java-Applikation nur mitteilen, dass der Server der H2-Datenbank läuft und wie Java diesen Server ansprechen soll.

Hab jetzt rausgefunden, dass Vista strenger mit dem Ordner Programme umgeht --> Windows XP nicht. Ich werde die Datenbank mal nicht unter c:\Programme installieren, sondern auf der anderen Partition und mal schauen, ob das funktioniert. Wenn ja, liegt es an Vista und den strengeren "Sicherheitsmaßnahmen". Ich werde dann berichten und schließe die Diskussieon erstmal damit (damit es keinen Bandwurm gibt).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich werde die Datenbank mal nicht unter c:\Programme installieren, sondern auf der anderen Partition und mal schauen, ob das funktioniert. Wenn ja, liegt es an Vista und den strengeren "Sicherheitsmaßnahmen".

Also ich finde das echt völlig sinnlos, ich nenne Dir ein Tool, das Dir direkt sagen kann, wo ein Problem besteht und suche Dir hier auch den Link dazu raus FileMon for Windows (ist übrigens erster Treffer bei Google).

Aber anstatt einmal auf den Rat zu hören und damit schon nach meinem zweiten Post das Problem ggf. zu finden, wird weiterhin rumprobiert. :upps

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

@ perdian

In meinem ersten Beitrag habe ich geschrieben, dass der eine Rechner Windows XP hat, der ander Windows Vista. Daran hat keiner von Euch gedacht oder mich drauf hingewiesen. Auf Laufwerk D funzt es nämlich. Und die Zugriffsrechte waren gesetzt! Nur die Sicherheitsbeschränkungen für den Ordner Programme sind unter Vista sehr streng. In welchem Beitrag von Euch, habt ihr mir diesen Hinweis gegeben? Nirgends!!!!

Mit den selben Einstellungen an der Datenbank. Ansonsten hab ich nix geändert. Es hat nicht an der Applikation gelegen oder dass die Datenbank-Datei durch irgendetwas anderes bereits blockiert ist ....

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...