DB2/2 und mysql Datenaustausch

(DE) Anwendungen für Office, Multimedia und Spiele, Werkzeuge, Hilfsprogramme, etc
(EN) Applications for Office, Multimedia or Games, Tools, Utilities, e.g.
User avatar
wilfried
Posts: 624
Joined: Mon 23. Dec 2013, 18:26
Location: Barsinghausen

DB2/2 und mysql Datenaustausch

Post by wilfried » Sat 17. Dec 2016, 12:39

Hallo zusammen,

wie auf den zurückliegenden Usertreffen in Köln (2015 und 2014) berichtet, nutze ich DB2/2 für meine Wertpapierkurs- und Depotdatenbank.
Durch eine Softwarezwischenschicht ist es inzwichen möglich auch mysql zu nutzen. Hierbei handelt es sich um eine alte Forderung aus 2005 (Warpstock Europe in Dresden).
Das Einzige was bisher einen Wechsel auf mysql verhindert ist die Datensicherung.

Unter DB2 gibt es ja das EXPORT/IMPORT Utility, was paßt da am Besten auf der mysql-Seite?

Idealerweise wünsche ich mir eine Tabellensicherung aus DB2/2 nach mysql zu laden und umgekehrt.
Das sollte auch für mysql als Batchdatei aufrufbar sein.

Hier als Beispiel mein Sicherungsscript für DB2/2:

Code: Select all

/* register the rexx functions */
'MODE 80,50'
'DB2START'
 DBNAME = VALUE('DB2SYSTEM',,'ENVIRONMENT')
 if strip(DBNAME) = '' then DBNAME = 'DBEFC'
'DB2 CONNECT TO' DBNAME
IF RC > 0 THEN EXIT
ozeile = date() time() 'START'
call lineout 'EXPORT.LOG', OZEILE
'DB2 EXPORT TO BASIS.EXP OF DEL SELECT * FROM BASIS'
'DB2 EXPORT TO KEYCONV.EXP OF DEL SELECT * FROM KEYCONV'
'DB2 EXPORT TO WATCH.EXP OF DEL SELECT * FROM WATCHLIST'
'DB2 EXPORT TO DEPOT.EXP OF DEL SELECT * FROM DEPOT'
'DB2 EXPORT TO DEPOTPOS.EXP OF DEL SELECT * FROM DEPOTPOS'
'DB2 EXPORT TO SPLITS.EXP OF DEL SELECT * FROM SPLITS'
'DB2 EXPORT TO DEPOTBEW.EXP OF DEL SELECT * FROM DEPOTBEW'
'DB2 EXPORT TO STAMM.EXP OF DEL SELECT * FROM STAMM'
'DB2 EXPORT TO TAG_01.EXP OF DEL SELECT * FROM TAG WHERE T_RECNR BETWEEN      0 AND 82000'
'DB2 EXPORT TO TAG_02.EXP OF DEL SELECT * FROM TAG WHERE T_RECNR BETWEEN  82001 AND 114000'
'DB2 EXPORT TO TAG_03.EXP OF DEL SELECT * FROM TAG WHERE T_RECNR BETWEEN 114001 AND 999999'
ozeile = date() time() 'ENDE'
call lineout 'EXPORT.LOG', OZEILE
return
Wie man sieht nutze ich 'EXPORT' mit 'OF DEL'
dadurch entsteht folgendes Format (Leerstellen bereinigt):

Code: Select all

"Österreichische Post AG","Xetra","Dienstleistung","  EUR","   ",7,+12.,+2016.,86525,"A0JML5","AT0000APOST4","Österreich"
"ÜSTRA Hannoversche Verkehrsbet","Frankfurt"," "," "," ",7,+12.,+2016.,3455,"825000","DE0008250002","    "

User avatar
thorolf
Posts: 383
Joined: Wed 25. Dec 2013, 16:14
Location: Rhein-Main

Post by thorolf » Sat 17. Dec 2016, 13:54

wilfried wrote:Unter DB2 gibt es ja das EXPORT/IMPORT Utility, was paßt da am Besten auf der mysql-Seite?
da gibt es mysqldump, was, je nach Optionen alle/eine Datenbank mit Tabellen, Struktur, Daten usw. in einen Text-Dump schreibt.

Weil es eine Text-Datei ist, kann man die parsen und irgendwie "anders" verwurschteln.

Dazu gibt es unzählige Anleitungen, Beispiele usw. im Internet, die Suche ist Dein Freund ...
Grüße,

Thorolf

User avatar
ak120
Posts: 955
Joined: Thu 8. May 2014, 12:50
Location: Demmin

Post by ak120 » Sat 17. Dec 2016, 14:05

Ich gehe mal davon aus, daß der "MySQL to DB2 Conversion Guide" (SG24-7093-01) bereits gespiegelt gelesen wurde. Client-seitig würde mysqldump ähnliche Funktionen bieten, was jedoch abhängig von Version und genutzter Speichermethode, weitere zusätzliche Zwischenschritte erfordern kann.

User avatar
ak120
Posts: 955
Joined: Thu 8. May 2014, 12:50
Location: Demmin

Post by ak120 » Sat 17. Dec 2016, 15:53

Um eine Idee für die notwendigen Änderungen zu bekommen, kann man einen Blick auf Mysql2db2 (MySQL to DB2 Migration Tool) von IBM werfen. Die dort enthaltene readme.txt gibt einen kurzen Überblick der wesentlichen Schritte und eine Gegenüberstellung der Datentypen.