2017-06-10 2 views
0

Ich stelle eine kleine Java-App zusammen, für die ich eine eingebettete Datenbank verwenden möchte, also verwende ich H2. Ich folgte dem Tutorial, um es einzurichten, und führte einen Test für den ersten Lauf durch, um zu sehen, ob es funktionierte. Ich hatte es vorher noch nie ausgeführt, also konnte es nicht wirklich benutzt werden, immer noch, als ich es das erste Mal ausgeführt habe, warf es den folgenden Fehler auf.Warum bekomme ich eine "Datenbank wird möglicherweise bereits verwendet: null" Fehler für H2-Datenbank, die ich gerade implementiert habe?

org.h2.jdbc.JdbcSQLException: Die Datenbank wird möglicherweise bereits verwendet: null. Mögliche Lösungen: Schließen Sie alle anderen Verbindungen; Verwenden Sie den Servermodus [90020-196]

Hier ist, was ich geschrieben habe.

Es ist an ein Absenden-Taste das Formular angehängt.

JButton btnRegisterupdate = new JButton("Register/Update"); 
    btnRegisterupdate.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent arg0){ 

      try { 
       Class.forName("org.h2.Driver"); 
       Connection connection = DriverManager.getConnection("jdbc:h2:~/test", "sa", " "); 

       JOptionPane.showMessageDialog(null, "Connection Awesome"); 
      } catch (ClassNotFoundException | SQLException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 

     } 
    }); 
    btnRegisterupdate.setBounds(10, 243, 146, 23); 
    frame.getContentPane().add(btnRegisterupdate); 
} 
} 
+0

Ich werde eine Vermutung wagen hier: Sie öffnen eine Verbindung, wenn Sie den Knopf drücken, und wenn Sie es freigeben. –

+0

Was kann ich tun, um das zu beheben? – JackParker2

+0

Bitte poste ein [MCVE]. Sie sollten genügend Code posten, den jeder kopieren und selbst ausführen kann und ** genau das gleiche Verhalten ** erhalten, nach dem Sie fragen. Achten Sie außerdem darauf, keinen irrelevanten Code zu enthalten, der nichts mit Ihrer Frage zu tun hat. Oft ist es hilfreich, ein neues Projekt zu starten und ein einfaches Beispiel zu schreiben, das Ihr Problem veranschaulicht. Dadurch können Sie irrelevante Details in Ihrem vollständigen Programm ignorieren. –

Antwort

0

OK, daher müssen die Benutzer den Anweisungen auf der Anmeldeseite folgen und auf Verbinden klicken. Dies bleibt geöffnet, es sei denn, Sie klicken auf Trennen. Nirgends sagt es im Tutorial. Sobald Sie auf Verbinden geklickt haben, um es einzurichten, klicken Sie in der Browserversion auf Trennen.

Das müssen Sie tun.

Klicken Sie auf Verbinden, um es einzurichten, es bringt Sie zu einem anderen Bildschirm, wo Sie Tabellen erstellen können, und so weiter, aber wenn Sie dort fertig sind, trennen Sie die Verbindung.

1

Führen Sie die ausführbare JAR-Datei im Ordner bin aus. Dies wird in einem Browser geöffnet. Klicken Sie auf das Dropdown-Menü Servereinstellung und ändern Sie es in Generic H2 (Server). Zuvor war es auf Generic H2 (Embedded) eingestellt, deshalb funktionierte es nicht für mich.

Verwandte Themen