# Apache Derby unter Linux



## thor_norsk (8. Feb 2022)

Guten Tag,
ich habe folgendes Problem, ich habe habe Jdk & Apache Derby unter Linux installiert und konfiguriert.
Wenn ich versuche mit dem Befehl : connect ’jdbc:derby://localhost:1527//opt/derby/adressenDB;create=true’;     eine  Datenbank mit dem Namen ,,adressenDB''
an zu legen wird folgender Fehlermeldung angezeigt:

ij> connect ’jdbc:derby://localhost:1527//opt/derby/adressenDB;create=true’;
IJ ERROR: connection kann nicht erstellt werden
ij> IJ ERROR: connection kann nicht erstellt werden

Allerdings wird der Server gestartet und die Verbindung zum Server ist aufgebaut.

:~$ startNetworkServer
WARNING: A terminally deprecated method in java.lang.System has been called
WARNING: System::setSecurityManager has been called by org.apache.derby.drda.NetworkServerControl (file:/opt/derby/lib/derbynet.jar)
WARNING: Please consider reporting this to the maintainers of org.apache.derby.drda.NetworkServerControl
WARNING: System::setSecurityManager will be removed in a future release
Tue Feb 08 16:03:59 CET 2022 : Sicherheitsmanager mit einfacher Serversicherheits-Policy installiert.
Tue Feb 08 16:03:59 CET 2022 : Apache Derby Network Server 10.15.2.0 - (1873585) wurde gestartet und ist bereit, Verbindungen auf Port 1527 zu akzeptieren.


----------



## Oneixee5 (8. Feb 2022)

Hast du Schreibrechte unter /opt/derby?


----------



## thor_norsk (8. Feb 2022)

Ja , sogar mit Absicht volle Rechte vergeben. Alle auf 777 gesetzt.


----------



## thor_norsk (8. Feb 2022)




----------



## mihe7 (9. Feb 2022)

Grad mal getestet:

```
$ ./startNetworkServer 

Wed Feb 09 14:16:49 CET 2022 : Sicherheitsmanager mit einfacher Serversicherheits-Policy installiert.
Wed Feb 09 14:16:51 CET 2022 : Apache Derby Network Server 10.11.1.1 - (1616546) wurde gestartet und ist bereit, Verbindungen auf Port 1527 zu akzeptieren.
```


```
$ ./ij

IJ-Version 10.11
ij> connect 'jdbc:derby://localhost:1527/tmp/xDB;create=true';
ij> create table tmp(x varchar(20) not null primary key);
0 Zeilen eingefügt/aktualisiert/gelöscht
ij>
```


----------



## thor_norsk (9. Feb 2022)

Es liegt an deiner Konfiguration. Bei mir wahrscheinlich Java-Version und Apache Derby arbeiten nicht zusammen. Werde die Software downloaden die selber vorschlagen und hoffe funktioniert.


----------



## mihe7 (9. Feb 2022)

Nochmal getestet: Mit Java 17 funktioniert es genauso.


----------



## thor_norsk (10. Feb 2022)

Ich habe wie immer Pech!!! Habe mit Debian und Kali versucht geht immer noch nicht. 


$ ./sysinfo
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true
------------------ Java-Informationen ------------------
Java-Version: 17.0.2
Java-Anbieter: Oracle Corporation
Java Home: /opt/jdk
Java Classpath: /opt/derby/lib/derbyshared.jar:/opt/derby/lib/derby.jar:/opt/derby/lib/derbynet.jar:/opt/derby/lib/derbytools.jar:/opt/derby/lib/derbyoptionaltools.jar:/opt/derby/lib/derbyclient.jar
BS-Name: Linux
BS-Architektur: amd64
BS-Version: 5.14.0-kali4-amd64
Java-Benutzername: thor
Java-Benutzer-Home: /home/thor
Java-Benutzerverzeichnis: /opt/derby/bin
java.specification.name: Java Platform API Specification
java.specification.version: 17
java.runtime.version: 17.0.2+8-LTS-86
--------- Derby-Informationen --------
[/opt/derby/lib/derby.jar] 10.15.2.0 - (1873585)
[/opt/derby/lib/derbytools.jar] 10.15.2.0 - (1873585)
[/opt/derby/lib/derbynet.jar] 10.15.2.0 - (1873585)
[/opt/derby/lib/derbyclient.jar] 10.15.2.0 - (1873585)
[/opt/derby/lib/derbyshared.jar] 10.15.2.0 - (1873585)
[/opt/derby/lib/derbyoptionaltools.jar] 10.15.2.0 - (1873585)
------------------------------------------------------
----------------- Informationen zum Gebietsschema -----------------
Aktuelles Gebietsschema: [Deutsch/Deutschland [de_DE]]
Folgende Gebietsschemaunterstützung gefunden: [cs]
Version: 10.15.2.0 - (1873585)
Folgende Gebietsschemaunterstützung gefunden: [de_DE]
Version: 10.15.2.0 - (1873585)
Folgende Gebietsschemaunterstützung gefunden: [es]
Version: 10.15.2.0 - (1873585)
Folgende Gebietsschemaunterstützung gefunden: [fr]
Version: 10.15.2.0 - (1873585)
Folgende Gebietsschemaunterstützung gefunden: [hu]
Version: 10.15.2.0 - (1873585)
Folgende Gebietsschemaunterstützung gefunden: [it]
Version: 10.15.2.0 - (1873585)
Folgende Gebietsschemaunterstützung gefunden: [ja_JP]
Version: 10.15.2.0 - (1873585)
Folgende Gebietsschemaunterstützung gefunden: [ko_KR]
Version: 10.15.2.0 - (1873585)
Folgende Gebietsschemaunterstützung gefunden: [pl]
Version: 10.15.2.0 - (1873585)
Folgende Gebietsschemaunterstützung gefunden: [pt_BR]
Version: 10.15.2.0 - (1873585)
Folgende Gebietsschemaunterstützung gefunden: [ru]
Version: 10.15.2.0 - (1873585)
Folgende Gebietsschemaunterstützung gefunden: [zh_CN]
Version: 10.15.2.0 - (1873585)
Folgende Gebietsschemaunterstützung gefunden: [zh_TW]
Version: 10.15.2.0 - (1873585)
------------------------------------------------------
------------------------------------------------------
$ startNetworkServer
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true
WARNING: A terminally deprecated method in java.lang.System has been called
WARNING: System::setSecurityManager has been called by org.apache.derby.drda.NetworkServerControl (file:/opt/derby/lib/derbynet.jar)
WARNING: Please consider reporting this to the maintainers of org.apache.derby.drda.NetworkServerControl
WARNING: System::setSecurityManager will be removed in a future release
Thu Feb 10 04:36:23 CET 2022 : Sicherheitsmanager mit einfacher Serversicherheits-Policy installiert.
Thu Feb 10 04:36:24 CET 2022 : Apache Derby Network Server 10.15.2.0 - (1873585) wurde gestartet und ist bereit, Verbindungen auf Port 1527 zu akzeptieren.
ij
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true
IJ-Version 10.14
ij> connect 'jdbc:derby:adressenDB;create=true';
IJ ERROR: connection kann nicht erstellt werden
ij> IJ ERROR: connection kann nicht erstellt werden
ij> connect 'jdbc:derby://localhost:1527//opt/derby/adressenDB;create=true';
IJ ERROR: connection kann nicht erstellt werden
ij> IJ ERROR: connection kann nicht erstellt werden
ij>

Des Weiteres habe ich /opt auf chmod 775 gesetzt und /opt/derby & /opt/jdk/ auch auf chmod 775
Ich habe sogar mit 777 versucht, was man nicht machen sollte!

Mit Mysql geht einfacher!


----------



## mihe7 (10. Feb 2022)

Schon mal den Connect-String aus meinem Beispiel probiert?


----------



## thor_norsk (10. Feb 2022)

Ja , habe ich auch versucht.


----------



## thor_norsk (10. Feb 2022)

Was sehr hilfreich wäre, wenn du mir verraten würdest wie du deine PATH in .profile gesetzt hast, dann kann ich eventuell
meine Anpassen.


----------



## mihe7 (11. Feb 2022)

Mein PATH? Neben den standardmäßigen bin-Verzeichnissen ist halt noch das bin-Verzeichnis des JDKs eingebunden und JAVA_HOME ist auf das Wurzelverzeichnis des JDKs gesetzt.


----------



## thor_norsk (16. Feb 2022)

Guten Tag, wenn ich den Rechner neue starte gehen Alle Umgebungsvariablen für aktuelle Sitzung verloren.
Ich habe im Internet recherchiert man muss entweder in der Datei .profie bzw .bashrc die Umgebungsvariable setzen, damit man nicht jedes Mal die setzen muss, was natürlich keinen Sinn macht, jedes Mal in der neuen Sitzung Alles zu wiederholen.
Vor Allem , wenn ich den Rechner neue starte geht Alles verloren, sogar meine Datenbank.
Ich bedanke mich im Voraus.


----------



## mihe7 (16. Feb 2022)

Ja, bei mir steht z. B. in der .profile

```
if [ -d ~/Downloads/jdk1.8.0_111/bin ]; then
    PATH=~/Downloads/jdk1.8.0_111/bin:"${PATH}"
fi
```
(ja, nagelneu )

Ich habe außerdem Aliase, um zwischen Java 8 und Java 17 umzuschalten. In .bashrc:

```
alias j17='export PATH=$(echo $PATH | sed -e "s@$JAVA_HOME/bin:@@g"); export JAVA_HOME="$HOME/Downloads/jdk-17" ; export PATH=$JAVA_HOME/bin:$PATH'
alias j8='export PATH=$(echo $PATH | sed -e "s@$JAVA_HOME/bin:@@g"); export JAVA_HOME=$HOME/Downloads/jdk1.8.0_111 ; export PATH=$JAVA_HOME/bin:$PATH'
```


----------



## thor_norsk (16. Feb 2022)

Danke


----------



## thor_norsk (16. Feb 2022)

Darf ich Fragen, welche Linux - Distribution Sie benutzen?


----------



## mihe7 (16. Feb 2022)

Ubuntu, warum?


----------



## thor_norsk (16. Feb 2022)

Ich habe Debian dann passt


----------



## thor_norsk (16. Feb 2022)

Ich habe Datenbank angelegt und Tabellen auch. Im Anschluss die Verbindung beendet.(siehe unten)
ij> disconnect;
ij>exit;

Jetzt habe ich den Rechner neue gestartet und als erstes startNetworkServer gestartet und  im Anschluss ij> 
mit welchem Befehl kann ich jetzt die Verbindung wieder aufbauen?


----------



## mihe7 (16. Feb 2022)

connect ’jdbc:derby://localhost:1527//opt/derby/adressenDB'


----------



## thor_norsk (17. Feb 2022)

Vielen Dank! Endlich läuft. Kannst du mir ein Buch empfehlen, wo Alle Apache Derby SQL-Befehle drin stehen? Ich habe festgestellt, dass manche SQL-Befehle von MySQL nicht funktionieren.
Nochmals vielen Dank!


----------



## mihe7 (17. Feb 2022)

thor_norsk hat gesagt.:


> Kannst du mir ein Buch empfehlen


Nö, aber das findet man einfach in der Doku  






						Apache Derby: Documentation
					






					db.apache.org
				




Dort machst Du das Reference Manual auf (HTML-Version https://db.apache.org/derby/docs/10.15/ref/index.html) und findest unter SQL language reference alles.


----------



## thor_norsk (17. Feb 2022)

Super Danke


----------



## Oneixee5 (17. Feb 2022)

Unter Linux kann ich für die Installation und Verwaltung von Java-Versionen https://sdkman.io/ empfehlen. Kein gemurkse in .profile mehr!


----------



## mihe7 (17. Feb 2022)

Bezeichnet der meine schönen Aliase als Gemurkse...


----------



## thor_norsk (20. Feb 2022)

Super Danke


----------

