Anmelden

View Full Version : Datentransfer DB2/400 <---> Oracle mittels JAVA



agutenbru
30-03-06, 22:30
hallo,

um schnittstellendaten mit einem anderen system austauschen zu können, möchte ich gerne JAVA einsetzen. hab das aber noch nie gemacht. kann mir da einer helfen.
es gibt zwar jede menge teil-demos, aber kein demo von A-Z

Augabenstellung:

Datenaustausch auf einzelsatzebene zwischen DB2/400 und Oracle 9i auf Linux
hab meine applikation mittels RPG entwickelt und brauche da hilfe beim einbinden bzw. aufruf von JAVA-programmen.

also RPG --> JAVA --> Datensatz aus Oracle lesen --> Daten in DB2/400 schreiben
und RPG --> JAVA --> Datensatz aus DB2/400 lesen --> Daten in Oracle schreiben

System A = V5R3M0 --> DB2/400
System B = SuSe Linux iA32 Enterprise V8.0 --> Oracle 9iR2 32Bit

vielen dank im voraus
agutenbru

Fuerchau
31-03-06, 07:09
Shau auf Dieter Benders Seite, für diese Aufgabenstellung reicht das dort vorgestellte Programm zum Kopieren per SQL zwischen 2 DB's.
Aus Performancegründen würde ich allerdings über das Design nachdenken. Wenn du pro Satz Java aufrufst, wird der Durchsatz eher gering sein.

agutenbru
31-03-06, 07:40
danke für deinen tip!

aber wie kann ich das in ein RPG Programm packen, damit ich innerhalb meiner appliaktion die daten austauschen kann?.

oder gibt es vielleicht andere möglichkeiten zwischen DB2/400 und ORACLE zu kommunizieren?

ausser das OTG von ORACLE --> deren pricing ist was für die oberen 100 ;-)

gruesse
alex

Fuerchau
31-03-06, 08:40
Es gibt auch die Möglichkeit per PC-Programm Daten auszutauschen.
Ich mache das auch mit einer Anwendung so.
Eine kleine Transferdatei auf der AS/400, die den identischen Aufbau der Transferdatei im Oracle hat.
Ein PC-Programm, dass per ODBC die Daten von der AS abholt und in die Oracle-DB schiebt, was natürlich auch umgekehrt geht.

BenderD
31-03-06, 08:51
Hallo,

wenn man das Geschäft auf Satzebene aus RPG antriggern will, dann geht das am besten über einen kleinen Serverdienst, der per DTAQ satzweise angetriggert wird. Der eigentliche Transfer zu und von Oracle (oder welcher Datenbank auch immer) erfolgt dann per JDBC.

mfg

Dieter Bender


danke für deinen tip!

aber wie kann ich das in ein RPG Programm packen, damit ich innerhalb meiner appliaktion die daten austauschen kann?.

oder gibt es vielleicht andere möglichkeiten zwischen DB2/400 und ORACLE zu kommunizieren?

ausser das OTG von ORACLE --> deren pricing ist was für die oberen 100 ;-)

gruesse
alex

agutenbru
31-03-06, 12:19
hat jemand von ihnen evenutell erfahrung mit SOCKET-Datenaustausch.
Würde sich ja auch als alternative anbieten, oder?
danke
alex

Frank Hildebrandt
31-03-06, 12:28
Hier ist zwei kleine Beispielprogramme für eine Kommunikation über Sockets. Das Serverprogramm ist in C und das Clientprogramm ist in Java geschrieben. http://publib.boulder.ibm.com/iseries/v5r2/ic2929/info/rzaha/socketex.htm

BenderD
31-03-06, 13:10
Hallo,

Sockets geht auch, sind aber aus RPG ein wenig schwieriger zu bedienen. Zu Sockets gibts ein Tutorial von Scott Klement, Herr Google weiß wo.

mfg

Dieter Bender


hat jemand von ihnen evenutell erfahrung mit SOCKET-Datenaustausch.
Würde sich ja auch als alternative anbieten, oder?
danke
alex

agutenbru
05-04-06, 10:11
hallo, danke für die hinweise.

wir werden den transport via SOCKET durchführen.
dazu noch folgenden frage?

1.) wie kann ich datenpaket erstellen, dh.

STARTkennzeichen:STX
DATENFELD....
DATENFELD....
ENDEkennzeichen:ETX

darauf aufbauend brauchen ich noch eine antwort auf das empfangene telegramm.

2.) auf was muss das serverprogramm warten, damit der transfer angestossen wird?
protokoll und/oder port ?!?!?

vielen dank
agutenbru