Alex_winf01 Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 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). Zitieren
flashpixx Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 (bearbeitet) 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 16. Juni 2009 von flashpixx Zitieren
perdian Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 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. Zitieren
Alex_winf01 Geschrieben 16. Juni 2009 Autor Geschrieben 16. Juni 2009 Nein, mit einer zweiten Applikation gehe ich nicht drauf. Ich starte über eine bat-Datei den Server, die Weboberfläche startet und ich möchte mich einloggen. Dann kommt sofort der Fehler. Zitieren
flashpixx Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 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 Zitieren
Alex_winf01 Geschrieben 16. Juni 2009 Autor Geschrieben 16. Juni 2009 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. Zitieren
flashpixx Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 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 Zitieren
perdian Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 Dann müsste das Problem auf dem anderen Rechner auch bestehenWie 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 Zitieren
Alex_winf01 Geschrieben 16. Juni 2009 Autor Geschrieben 16. Juni 2009 @ 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). Zitieren
flashpixx Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 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 Zitieren
perdian Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 Hab jetzt rausgefunden, dass Vista strenger mit dem Ordner Programme umgeht --> Windows XP nicht.Aha! Also doch nicht alles gleich, was? Daran wirds liegen. Zitieren
Alex_winf01 Geschrieben 16. Juni 2009 Autor Geschrieben 16. Juni 2009 @ 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 .... Zitieren
perdian Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 In welchem Beitrag von Euch, habt ihr mir diesen Hinweis gegeben? Nirgends!!!!Ist ja okay - jetzt funktionierts, also hör auf zu heulen. Zitieren
Empfohlene Beiträge
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.