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.
Antworten
Benutzeravatar
wilfried
Beiträge: 667
Registriert: Mo 23. Dez 2013, 18:26
Wohnort: Barsinghausen
Kontaktdaten:

DB2/2 und mysql Datenaustausch

Beitrag von wilfried »

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: Alles auswählen

/* 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: Alles auswählen

"Österreichische Post AG","Xetra","Dienstleistung","  EUR","   ",7,+12.,+2016.,86525,"A0JML5","AT0000APOST4","Österreich"
"ÜSTRA Hannoversche Verkehrsbet","Frankfurt"," "," "," ",7,+12.,+2016.,3455,"825000","DE0008250002","    "
Benutzeravatar
thorolf
Beiträge: 563
Registriert: Mi 25. Dez 2013, 16:14
Wohnort: Rhein-Main

Beitrag von thorolf »

wilfried hat geschrieben: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
Benutzeravatar
ak120
Beiträge: 1044
Registriert: Do 8. Mai 2014, 12:50
Wohnort: Demmin
Kontaktdaten:

Beitrag von ak120 »

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.
Benutzeravatar
ak120
Beiträge: 1044
Registriert: Do 8. Mai 2014, 12:50
Wohnort: Demmin
Kontaktdaten:

Beitrag von ak120 »

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.
Antworten