Announcement

Collapse
No announcement yet.

Fehler beim H2 start

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fehler beim H2 start

    Ich habe es nun hinbekommen, die Datenbankverbindung herzustellen. Aber nun bekomme ich einen neuen kryptischen Fehler.

    H2-Datenbankserver starte über die bat. Wenn ich dann den Tomcatserver starte, sagt er, die Datenbank sei schon "in use", aber ich verstehe nicht wieso:


    org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: "C:/Users/xy/test.mv.db". Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
    Database may be already in use: "C:/Users/xy/test.mv.db". Possible solutions: close all other connection(s); use the server mode [90020-182]
    Wenn ich die den DB-Server nicht über die bat nicht starte, dann konnektiert er sich logischerweise nicht mit der Datenbank, sobald ich die bat aber starte, heißt es, die Datenbank wird schon benutzt :\ Ich habe im Netz schon gesehen, dass andere Leute den Fehler auch hatten, jedoch konnte ich keinen Thread ausfindig machen, welcher eine Lösung für mein Problem ist.

  • #2
    Die DB kann InMemory, Embeded oder im Servermode laufen. letzteres tut sie offenbar nicht und nur dann würde der Start über eine BAT Sinn machen. Da weder der Connectingstring noch der Aufruf in der BAT bekannt ist, wird hier keine Lösung möglich sein
    Zuletzt editiert von Christian Marquardt; 21.10.2014, 07:00.
    Christian

    Comment


    • #3
      Ich habe mal versucht, alles auf mysql umzustellen, doch nun findet er die Datenbank nicht, und ich verstehe nicht, weshalb das der Fall ist.

      Ich habe in der db-properties folgende Änderungen vorgenommen:

      Code:
      db=activiti
      jdbc.driver=com.mysql.jdbc.Driver
      jdbc.url=jdbc:mysql://localhost:3306/activiti
      jdbc.username=root
      jdbc.password=meinPasswort
      ...und in der activiti.cfg.xml habe ich folgende Änderungen vorgenommen:

      Code:
      <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activiti;DB_CLOSE_DELAY=1000" />
      <property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
      <property name="jdbcUsername" value="root" />
      <property name="jdbcPassword" value="meinPasswort" />
      Ich habe zudem in mysql die Datenbank activiti angelegt, selbstverständl. habe ich auch den Datenbanktreiber als .jar heruntergeladen, den mysql-Datenbankserver habe ich gestartet.

      Nun sagt er: "com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorE xception: Unknown database 'activiti;db_close_delay=1000'".

      Comment


      • #4
        Du hast dem User root die (alle) Rechte an der DB activiti gegeben.....
        Christian

        Comment


        • #5
          Ja schon, das kann meinetwegen so sein, aber das ist nicht, die Ursache, dass er die Datenbank mit dem Namen activiti nicht kennt, oder?

          Comment


          • #6
            Hat er nun die Rechte oder nicht. Wenn er sie nicht hat, kann er auch nicht auf die DB zugreifen
            Christian

            Comment


            • #7
              Stimmt :\ das hatte ich vergessen, ich habe jetzt GRANT gemacht und der DB die Privileges gegeben, jetzt motzt er rum, fdass er den Datenbanktreiber nicht finden kann und dass er irgendwelche beans nicht wire'n kann. Der Kampf geht weiter

              Edit: Ich habe jetzt ein clean durchgeführt und jetzt heißt es wieder:
              "com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorE xception: Unknown database 'activiti;db_close_delay=1000'"

              An den Rechten kann es offenbar doch nciht liegen.
              Zuletzt editiert von dfss; 21.10.2014, 10:05.

              Comment


              • #8
                Entferne das ;db_close_delay=1000 aus dem Connecting String. Und die Rechte für root müssen gesetzt sein
                Zuletzt editiert von Christian Marquardt; 21.10.2014, 10:31.
                Christian

                Comment


                • #9
                  Also den DELAY-String habe ich entfernt. Äm, was ist rott? Überdies staune ich nicht schlecht, dass er die Driver-jar nicht finden kann, die habe ich in WEB-INF/lib gesetzt, danach habe ich sie zusätzlich dem Buildpath hinzugefügt, und er meckert immer noch, dass er sie nicht finden kann.

                  Comment


                  • #10
                    rott = root -> korrigiert
                    die habe ich in WEB-INF/lib gesetzt -> wie ich schon sagte, da musst du nichts setzen, sollte beim erzeugen des WAR automatisch passieren
                    Christian

                    Comment


                    • #11
                      Es hat nun geklappt, vielen Dank für die Tipps. Activiti hat eine Inmemory-DB, die wird, wenn man die jars in die lib von Tomvat setzt bzw. die entsprechenden wars in das webapp-Verzeichnis von Tomcat setzt, automatisch mit activitideploy-t; ich hatte zu kompliziert gedacht.

                      Comment

                      Working...
                      X