2016-06-10 8 views
1

Ich stehe vor dem folgenden Problem. Derby DB arbeitet in Embedded-Modus auf meinem MacBook, aber immer den folgenden Fehler Der Versuch, zu erhalten:Probleme mit laufendem Derby unter OS X im Embedded-Modus

java.sql.SQLException: Keine passenden Treiber für jdbc gefunden: Derby

Derby log shows : 
java.vendor=Oracle Corporation 
java.runtime.version=1.8.0_65-b17 
user.dir=/Users/a1/Documents/ 
os.name=Mac OS X 
os.arch=x86_64 
os.version=10.9.4 
derby.system.home=null 
Database Class Loader started - derby.database.classpath='' 

Scheint, wie Probleme mit der Umwelt Variable, immer die folgende wenn setEmbeddedCP in meinem Terminal läuft:

Error: DERBY_HOME is not set. Please set the DERBY_HOME environment variable 
to the location of your Derby installation. 

die folgenden sind Inhalte von bash_profile

export JAVA_HOME=$(/usr/libexec/java_home) 
export DERBY_HOME=$(/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/db) 

Irgendwelche Ideen? Dank

Antwort

0

DERBY_HOME sollte auf den Speicherort festgelegt werden, wo Sie die Derby JAR-Dateien heruntergeladen und entpackt haben. Das heißt, $DERBY_HOME/lib/derby.jar sollte der Speicherort Ihrer derby.jar-Datei sein.

Hier sind einige Dokumente: https://db.apache.org/derby/docs/10.12/getstart/tgssetupenvironment.html

Ihre tatsächlichen Datenbanken können überall befinden; sie müssen sich nicht unter DERBY_HOME befinden (und sind typischerweise nicht dort). Im Allgemeinen befindet sich Ihre Datenbank in einem Ordner, der Teil der Datendateien für Ihre Anwendung ist (dies wird als "eingebettete" Konfiguration bezeichnet), oder in einem Ordner, der vom Derby Network Server verwaltet wird (dies wird als " Client/Server "Konfiguration).

Ich empfehle durch die gesamte Derby Einführung Führung arbeiten an: https://db.apache.org/derby/docs/10.12/getstart/index.html

+0

Danke, das schon versucht. In meinem bash_profile exportieren DERBY_HOME = $/Bibliothek/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Inhalte/Home/db/lib/derby.jar. Echo vom Terminal: /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/db/lib/derby.jar So, jetzt sollte es richtig sein, aber immer noch gleiche Fehler in Eclipse java.sql .SQLException: Kein geeigneter Treiber für jdbc gefunden: derby: ... Ich habe Derby nicht explizit heruntergeladen und die Derby jar Datei entpackt, sie sind mit JDK gebündelt. Sie existieren im obigen Ordner. Onlinedoc ist nur über env. Variable für Win./UNIX, kein OS X – fg78nc

+0

OS X ist identisch mit Unix. Aber ich wusste nicht, dass du über Eclipse redest. Das macht einen großen Unterschied. Eclipse hat seine eigene Art, JDBC-Treiber zu laden und auszuführen, und es wird nicht die 'DERBY_HOME'-Umgebungsvariablen betrachten; Diese werden nur von den von Derby bereitgestellten Shell-Skripten verwendet. –

+0

Ja, sorry Problem mit der Java-App von Eclipse, kann keine Verbindung zum Server herstellen. Oder wenn ich versuche, Last 'Class.forName ("org.apache.derby.jdbc.EmbeddedDriver");' Erste 'java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDriver' – fg78nc