PDA

View Full Version : Datenbank Verbindung auf die AS400?



Seiten : 1 [2] 3

BenderD
05-02-14, 09:00
... ich habe mein Statement auch nicht als Angriff gemeint.
@Java lernen in der Schule:
Java Programme entwickeln ist das eine und diese dann auf einem anderen Rechner zu implementieren (Deployment) ist das andere (gilt auch für andere Programmiersprachen), eine dritte Sache ist dann: wie starte ich ein Programm auf einem bestimmten Rechner.
Für Java ist da eine gängige Vorgehensweise:
- für die Entwicklung hat sich Eclipse weitgehend durchgesetzt.
- für das Deployment erstellt man sich eine jar Datei seiner Anwendung. (dabei unterstützt einen auch Eclipse, normalerweise nimmt man dafür ein ANT Script)
- starten kann man Java Anwendungen, die eine Class mit einer main Methode haben, oder startbare jar Dateien. Wie das wiederum geht, findet man hier:
http://docs.oracle.com/javase/7/docs/technotes/tools/#basic
für AS/400 wählt man dann die UNIX/Solaris Variante
Die Windows und Unix Variante unterscheidet sich dabei nur durch das Trennzeichen in Listen.

Ob überhaupt und welche Java Version installiert ist, bekommt man über java -version heraus. Will man eine andere installierte Java Variante verwenden, setzt man die Umgebungsvariable JAVA_HOME (näheres dazu erzählt Tante Google, wenn man nach JAVA_HOME und AS400 suchen lässt)

D*B

Fuerchau
05-02-14, 09:29
Meine kleinen Java-Progrämmchen (Vorlage übrigens von Dieter:)) mache ich auch mit Eclipse.
Man muss für die Generierung nur die richtige Javaversion einstellen (1.4, 1.5 oder was immer die AS/400 installiert hat), dann ist sogar das fertige Jar lauffähig.
Die Toolbox habe ich mir in den Exclipspfad gelegt und importiert, so dass ich über Eclipse sogar testen (debuggen) kann, was mit AS/400 zwar gehen soll, ausprobiert habe ich das aber noch nie.
Somit habe ich schon einige Progrämmchen mit kopieren zwischen AS/400-DB und einer Oracle-DB (JDBC-Treiber von Oracle) geschrieben, die schon lange problemlos (seit V5R4) im Einsatz sind und sogar Releasewechsel ohne Anpassungen überstanden haben.

Vorschlag also:
Lade die Toolbox auf den PC, importiere die jar in dein Projekt und du kannst alles per Eclipse erledigen.
Das fertige jar schiebst du ins IFS, schreibst ein kleines CLP drumrum für den Aufruf per JAVA-CMD.

SourceCoder
05-02-14, 13:35
Fuerchau (http://newsolutions.de/forum-systemi-as400-i5-iseries/members/160-Fuerchau) genialer Tipp mit der Toolbox auf den PC, es funktioniert wirklich.

1. rechte Maus auf das Projekt
2. Export
3. Jar-Datei auswählen
4. Im QSH die .Jar aufrufen

Sind die Schritte richtig?

Fuerchau
05-02-14, 14:00
CLASSPATH ist natürlich trotzdem nötig.

Fuerchau
05-02-14, 14:02
Ergänzung:
Ich starte nicht die QSH sondern nehme das AS/400-Kommando JAVA!
Da kann man ebenso den CLASSPATH angeben.
Dadurch wird ein interner Job weniger gestartet:
1. QSH ist ein interner Job
2. Java-JVM ist ein interner Job
Ohne QSH gibts nur den zusätzlichen Java-Job.

SourceCoder
05-02-14, 14:15
Wieder was dazu gelernt, kann man dem Befehl JAVA nicht sagen er soll sich den CLASSPATH selbst ziehen?

Dachte mit CLASSPATH *ENVVAR würde er den CLASSPATH aus dem wrkenvvar -> CLASSPATH nehmen, aber da kommt wieder die Fehlermeldung das CLASSPATH fehlt.



Edit: Bin jetzt richtig verwirrt xD, hab mal unter wrkenvvar -> CLASSPATH alles was eigentlich für JDBC benötigt wird raus genommen und trotzdem funktioniert der Befehl. Wie ist das möglich 0o?

CLASSPATH:
Neuer Wert . . . . . . . . . . . '.:QIBM/ProdData/Java400/ext/db2_classes.jar
:/QIBM/ProdData/OS400/jt400/lib/jt400Native.jar:/QIBM/ProdData/HTTP/Public/jt400
/lib/jt400.jar:/QIBM/ProdData/Java400/jdk6/bin'

Befehl:
java -classpath $CLASSPATH:"/X/XXX/XX/src/" HalloWelt

SourceCoder
10-03-14, 14:28
Fuerchau (http://newsolutions.de/forum-systemi-as400-i5-iseries/members/160-Fuerchau) --> vielleicht eine Idee?

SourceCoder
26-06-14, 12:05
Bin hier noch nicht schlauer geworden, jemand eine Erklärung zur meiner Situation?

Fuerchau
26-06-14, 12:36
Die könnte allenfalls Dieter haben.
Ich habe mal gesehen, dass man in der .jar oder im Hauptanwendungspfad eine ".manifest"-Datei einrichten kann, in der man wohl einiges hinterlegen kann.
Guckst du hier :):
http://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html

SourceCoder
26-06-14, 14:37
Ich habe das Problem umgangen in dem ich eine ausführbare .jar erstellt habe, dort sind alle externen Bibliotheken,Daten und die .manifest vorhanden. So muss ich beim Befehl "JAVA" keine CLASSPATH mehr angeben.