2016-12-13 2 views
0

Wie Abfrage HyperSQL mit jdbc: hsqldb URL?Java Maven HyperSQL

Betrachten wir zum Beispiel diese sample source code

Die HSQL Database Manager mit dem folgenden Befehl funktioniert nicht.

java -cp "C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps\rest-api-sample-app-java-1.0\WEB-INF\lib\hsqldb-2.2.9-jdk5.jar" org.hsqldb.util.DatabaseManager 

Wie wird über die eingebettete HyperSQL-Datenbank mit JAR-Dateien abgefragt?

Bitte beachten Sie die folgenden Screenshots.

enter image description here

enter image description here

Was ist falsch?

Dank

+2

Als erstes fällt auf, dass Sie nur eine JAR-Datei in Ihrer Befehlszeile Classpath haben. Ist das der richtige Weg? Nicht 'java -jar ...'? –

+0

Was ist 'ppusers'? Haben Sie dieses Datenbankobjekt (zB Tabelle) schon einmal erstellt? – lospejos

+0

https://github.com/ipower634/rest-api-sample-app-java/blob/master/src/main/java/com/paypal/dao/DBConnection.java con.createStatement(). ExecuteUpdate ("CREATE TABLE ppusers (Benutzer-ID INTEGER GENERIERT DURCH DEFAULT AS IDENTITY (START MIT 1, INCREMENT BY 1) nicht null, E-Mail VARCHAR (20), Passwort VARCHAR (200), creditcard_id VARCHAR (40))"); – Impavid

Antwort

0

Die JDBC-URL Sie verwenden beginnt mit jdbc: hsqldb: mem:. Dies bedeutet, dass Sie auf eine 100% In-Memory-Datenbank zugreifen.

Es sieht so aus, als würde die jdbc-URL, auf die Sie zugreifen möchten, mit jdbc: hsqldb: file: beginnen. Es wird in DBConnection.java wie verwiesen:

jdbc:hsqldb:file:" + dbPath + ";user=SA;create=true" 

Die DBPATH wird, was System.getProperty ("user.home") kehrt mit \ testpaymentdb am Ende angehängt sein.

Beachten Sie auch die HyperSQL-Dokumentation zu In-Process (Standalone) Mode, in der erläutert wird, wie Sie nicht gleichzeitig mit der Ausführung der Webanwendung auf die Datenbankdatei zugreifen können.