<?xml version="1.0" encoding='utf-8'?>
<!-- 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
-->
<?xml-stylesheet type="text/xsl" href="https://niweau.de/nw/roller-ui/styles/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom">
    <title type="html">Thailand</title>
    <subtitle type="html">...ein Daueraufenthalt</subtitle>
    <id>https://niweau.de/nw/jup/feed/entries/atom</id>
            <link rel="self" type="application/atom+xml" href="https://niweau.de/nw/jup/feed/entries/atom?cat=Technik+Programmierung" />
        <link rel="alternate" type="text/html" href="https://niweau.de/nw/jup/" />
        <updated>2024-09-17T15:51:08+02:00</updated>
    <generator uri="http://roller.apache.org" version="5.2.4">Apache Roller</generator>
        <entry>
        <id>https://niweau.de/nw/jup/entry/datenbank-migration-informix-nach-mysql</id>
        <title type="html">Datenbank Migration - Informix nach Mysql und vice versa</title>
        <author><name>Kun Pho</name></author>
        <link rel="alternate" type="text/html" href="https://niweau.de/nw/jup/entry/datenbank-migration-informix-nach-mysql"/>
        <published>2022-02-27T13:00:19+01:00</published>
        <updated>2022-03-02T06:32:54+01:00</updated> 
        <category term="Technik Programmierung" label="Technik Programmierung" />
        <category term="datasource" scheme="http://roller.apache.org/ns/tags/" />
        <category term="informix" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="migration" scheme="http://roller.apache.org/ns/tags/" />
        <category term="mysql" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">
&lt;p&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;Von einem älteren Warenwirtschaftssystem auf einem Informix Dynamic Server, sollen die Daten auf einen neuen Web-Server übertragen werden. Zum Zeitpunkt der Migration stehen beide Datenbank-Server auf verschiedenen Maschinen online zur Verfügung. Nach der Migration wird der WWS-Server abgeschaltet und der Web-Server wird für alle Applikationen und Benutzer der Produktions-Server. Der Web-Server ist mit einem Mysql-DBMS aus gestattet, das bereits produktiv mit einem Servlet-Container kommuniziert und Web-Anwendungen dafür bereitstellt. Der Ist-Zustand:&lt;br /&gt; &lt;/font&gt; &lt;br/&gt;
  &lt;ul&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt; &lt;br/&gt;
      &lt;li&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; IBM Informix Dynamic Server Version 12.10.UC2IE    &lt;/li&gt; &lt;br/&gt;
      &lt;li&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; Mysql Community-Server 8.0.28    &lt;/li&gt; &lt;br/&gt;
      &lt;li&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; Servlet-Container Tomcat 9.0.58-Server    &lt;/li&gt; &lt;br/&gt;
      &lt;li&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; Zu migrierende Daten: 19 Tabellen mit ca. 10000 Datensätzen.&amp;nbsp;&amp;nbsp;&lt;/li&gt; &lt;br/&gt;
      &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  Die Datenbank besteht nur aus Tabellen. Es gibt also keine Views, Trigger, Proceduren und der Gleichen.&lt;/li&gt;&lt;/font&gt;&lt;/ul&gt; &lt;br/&gt;
  &lt;ul&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt; &lt;/font&gt;&lt;/ul&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;&lt;/p&gt;


&lt;p&gt;Der Migrationsbestand ist gering und die Aufgabe könnte in rekordverdächtiger Zeit über die Bühne gehen.&lt;br /&gt; &lt;br/&gt;
    &lt;h2&gt;&lt;span style=&quot;color: #b4b4b4;&quot;&gt;1. Manuelle Vorarbeit (Informix)&lt;/span&gt;&lt;/h2&gt;Zunächst erstellen wir das Datenbankschema der Datenbank auf dem Informix-Server und bearbeiten dieses:&lt;br /&gt; &lt;/font&gt; &lt;br/&gt;
  &lt;div align=&quot;center&quot;&gt; &lt;br/&gt;
    &lt;p&gt;&lt;img src=&quot;https://www.niweau.de/bilder/andere/Schema.jpg&quot; class=&quot;geraet&quot; align=&quot;middle&quot; /&gt; &lt;br /&gt;&lt;/p&gt; &lt;br/&gt;
    &lt;p&gt;dbschema -t all -d warenwirtschaft wws.sql &lt;br /&gt;&lt;/p&gt; &lt;br/&gt;
  &lt;/div&gt; &lt;br/&gt;
  &lt;div align=&quot;center&quot;&gt; &lt;br/&gt;
    &lt;p&gt;&lt;img src=&quot;https://www.niweau.de/bilder/andere/Systables.jpg&quot; class=&quot;geraet&quot; align=&quot;middle&quot; /&gt; &lt;br /&gt;&lt;/p&gt; &lt;br/&gt;
    &lt;p&gt;Wenn wir schonmal auf dem Server sind, checken wir gleich die Datenmenge&lt;br /&gt;&lt;/p&gt; &lt;br/&gt;
  &lt;/div&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt; &lt;br/&gt;
      &lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;Am schnellsten lässt sich der Schemen-File in einem Texteditor bearbeiten, der über die Option „&lt;em&gt;Suchen und Ersetzen&lt;/em&gt;“ verfügt. Man kann das natürlich auch mit dem Stream Editor SED bewerkstelligen und dann Script gesteuert durchlaufen lassen.&lt;br /&gt; &lt;br/&gt;
    &lt;p&gt;Die folgenden Datentypen kennt Mysql u.a. nicht (&lt;em&gt;links die Informix-Typen&lt;/em&gt;):&lt;/p&gt; &lt;br/&gt;
    &lt;ul&gt; &lt;br/&gt;
      &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; serial&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; →&amp;nbsp; long&lt;/li&gt; &lt;br/&gt;
      &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; smallfloat&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; → float&lt;/li&gt; &lt;br/&gt;
      &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; smallint&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; → int&lt;/li&gt; &lt;br/&gt;
      &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; datetime year to fraction(3)&amp;nbsp; → datetime&lt;/li&gt; &lt;br/&gt;
    &lt;/ul&gt; &lt;br/&gt;
    &lt;p&gt;Weitere Schritte:&lt;/p&gt; &lt;br/&gt;
    &lt;ul&gt; &lt;br/&gt;
      &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alle Tabellen-Statistiken entfernen, das sind die Zeilen in den geschweiften Klammern {}&lt;/li&gt; &lt;br/&gt;
      &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alle Zeilen mit revoke command an den&lt;em&gt; Mysql Syntax&lt;/em&gt; anpassen.&lt;/li&gt; &lt;br/&gt;
    &lt;/ul&gt; &lt;br/&gt;
    &lt;h2&gt;&lt;span style=&quot;color: #b4b4b4;&quot;&gt;2. Manuelle Vorarbeit (Mysql)&lt;/span&gt;&lt;/h2&gt; &lt;br/&gt;
    &lt;p&gt; &lt;/p&gt; &lt;br/&gt;
    &lt;ul&gt; &lt;br/&gt;
      &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Eine leere Datenbank mit gleicher Kollation erstellen. Hierzu den passenden Benutzer erzeugen und ihn mit den Berechtigungen ausstatten. &lt;br /&gt;&lt;/li&gt; &lt;br/&gt;
      &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ein allgemeiner Tip: Immer für alle Datenbanken UTF-8 verwenden.&lt;/li&gt; &lt;br/&gt;
      &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Den angepassten Schemen-File als SQL in die Mysql laden und ausführen.&lt;/li&gt; &lt;br/&gt;
    &lt;/ul&gt;&lt;strong&gt;Zeit bis hierhin: ca.&lt;u&gt; xx Minuten&lt;/u&gt;&lt;/strong&gt; &lt;br/&gt;
    &lt;h2&gt;&lt;span style=&quot;color: #b4b4b4;&quot;&gt;3. Manuelle Vorarbeit (Beide)&lt;/span&gt;&lt;/h2&gt; &lt;br/&gt;
    &lt;p&gt; &lt;/p&gt; &lt;br/&gt;
    &lt;p&gt;Hier ist etwas Programmierarbeit erforderlich. Datenbanken lassen sich am einfachsten mit Java bearbeiten. &lt;/p&gt;Kleines Java-Consolen-Projekt erstellen – JDBC im Buildpath eintragen.&lt;/p&gt;


&lt;p&gt;    &lt;p&gt; &lt;/p&gt; &lt;br/&gt;
    &lt;ul&gt; &lt;br/&gt;
      &lt;li&gt;Datasource-Factory-Klasse für 2 DBMS programmieren&lt;/li&gt; &lt;br/&gt;
      &lt;li&gt;Model-Klassen für jede Tabelle erzeugen.&lt;/li&gt; &lt;br/&gt;
      &lt;li&gt;DAO-Interfaces und Impl-Klassen für jede Tabelle erzeugen.&lt;/li&gt; &lt;br/&gt;
      &lt;li&gt;In einer Schleife eine Liste der Model-Objects aus der Quelle erzeugen&lt;/li&gt; &lt;br/&gt;
      &lt;li&gt;Die Models-Objects dieser Liste in die Datenbank des Ziels schreiben.&lt;/li&gt; &lt;br/&gt;
    &lt;/ul&gt; &lt;br/&gt;
    &lt;p&gt;&lt;strong&gt;Zeit bis hierhin: ca. xx Minuten + &lt;u&gt;yy Minuten&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt; &lt;/p&gt; &lt;br/&gt;
    &lt;h2&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;&lt;span style=&quot;color: #b4b4b4;&quot;&gt;4. Migration&lt;/span&gt;&lt;/font&gt;&lt;/h2&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;Unser Java-Projekt starten und das Ergebnis prüfen. Die Zeit hierfür ist stark von den Leistungsfaktoren der eingesetzten Rechner und der Infrastruktur abhängig. Hier hat es ca. 5 Minuten gedauert, bis die Daten durchgelaufen sind und das Ergebnis geprüft war.&lt;br /&gt; &lt;br/&gt;
      &lt;p&gt;&lt;strong&gt;Zeit insgesamt &lt;u&gt;zz Minuten&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt; &lt;br/&gt;
      &lt;h2&gt;&lt;span style=&quot;color: #b4b4b4;&quot;&gt;Die Details&lt;/span&gt;&lt;/h2&gt; &lt;br/&gt;
      &lt;p&gt;Das ist Rekordverdächtig &lt;img src=&quot;https://niweau.de/nw/images/smileys/smile.gif&quot; class=&quot;smiley&quot; alt=&quot;:-)&quot; title=&quot;:-)&quot; /&gt; Ich habe natürlich die 38 DAO-Klassen und die 19 Model-Klassen nicht selber programmiert. Wer es war, die Details des kleinen Java-Projekts und auch die Inhalte von x, y, z kommen später.&lt;/p&gt; &lt;br/&gt;
      &lt;p&gt;Die Punkte 1 und 2 sind reines administratives Handwerkszeug und ich könnte mir die Detail-Schritte hierzu eigentlich verkneifen. Der Vollständigkeit halber, ohne große Kommentare:&lt;br /&gt;&lt;br /&gt;Das Datenbank-Schema abrufen und den Schema-File bearbeiten:&lt;/p&gt; &lt;br/&gt;
      &lt;p&gt; Ich benutze dazu Eclipse. Die Datentypen mit: &lt;em&gt;Suchen und Ersetzen&lt;/em&gt; anpassen und die markierten Teile bearbeiten. In diesem speziellen Fall werden Revoke- und Statistik-Einträge gelöscht. Es ist in der Unix-Welt nicht unüblich einen System-Benutzer die Datenbankberechtigungen zu übertrage und in diesem Fall ergibt das Übernehmen jeglicher Properties gar keinen Sinn.&lt;br/&gt;
&lt;/p&gt; &lt;br/&gt;
      &lt;div align=&quot;center&quot;&gt; &lt;br/&gt;
        &lt;p&gt;&lt;img src=&quot;https://www.niweau.de/bilder/andere/SchemaBearbeiten.jpg&quot; class=&quot;geraet&quot; align=&quot;middle&quot; /&gt; &lt;br /&gt;&lt;/p&gt; &lt;br/&gt;
        &lt;p&gt;Schema Bearbeiten &lt;br /&gt;&lt;/p&gt; &lt;br/&gt;
      &lt;/div&gt; &lt;/p&gt;


&lt;p&gt; Weiter geht es im Klartext. &lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;Datenbank und Benutzer:&lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt; &lt;br/&gt;
    &lt;p&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;&lt;br /&gt;mysql -u monty -p&lt;br /&gt;CREATE DATABASE warenwirtschaft CHARACTER SET utf8 COLLATE utf8_general_ci;&lt;br /&gt;CREATE USER &apos;wws&apos;@&apos;localhost&apos; IDENTIFIED BY &apos;da_kommt_keiner_drauf&apos;;&lt;br /&gt;GRANT ALL ON warenwirtschaft.* TO &apos;wws&apos;@&apos;localhost&apos;;&lt;br /&gt;quit;&lt;br /&gt;&lt;br /&gt;mysql -u wws -p&lt;br /&gt;USE wws;&lt;br /&gt;source wws.sql;&lt;br /&gt;quit;&lt;/font&gt;&lt;/p&gt; &lt;br/&gt;
    &lt;p&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;&lt;br /&gt;… und rein mit dem Schema-file&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;br/&gt;
    &lt;p&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;&lt;br /&gt;Von aussen geht es auch:&lt;/font&gt;&lt;/p&gt; &lt;/font&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt; &lt;br/&gt;
    &lt;p&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;mysql -u wws -p warenwirtschaft &amp;lt; wws.sql&lt;/font&gt;&lt;/p&gt; &lt;br/&gt;
    &lt;p&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;&lt;br /&gt;– fertig!&lt;/font&gt;&lt;/p&gt; &lt;br/&gt;
    &lt;p&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;&lt;br /&gt;Wir haben bisher die blanke Datenbank, Benutzer und Berechtigung. Die beste Eingangsbedingung für eine Migration ist: &lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt; &lt;br/&gt;
  &lt;div align=&quot;center&quot;&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt; &lt;br/&gt;
      &lt;p&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;&lt;strong&gt;Beide Datenbank-Server sind online.&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/div&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt; &lt;br/&gt;
    &lt;p&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Der wirklich interessante Teil der Migration kommt jetzt: Der Programmier-Part. Ich arbeite mit Java und der Javax-DataSource-Klasse, weil in dieser Architektur intern völlig egal ist, wer die Daten liefert. Ich muss nur die Schnittstelle dazu konfigurieren und eine Factory dazu erstellen. Das ist eigentlich schon alles an handwerklicher Programmierarbeit. Der Rest, der benötigt wird, wird von einer Software erstellt, die ich mal entwickelt habe, als mir in der Web-Entwicklung das ewige Eintippen von immer gleichen Mantras auf die Nüsse gegangen ist. Das Tool heißt &lt;em&gt;DAO_GEN &lt;/em&gt;und es generiert nicht nur alle nötigen DAO-Klassen (Nomen est Omen), sondern es baut mir den vollständigen Projekt-Baum für Datenbank getriebene Maven-Spring-Projekte. Vollständig heißt vollständig, inklusiver der Views zum bearbeiten von Datenbanken. Ich komme in einem anderen Beitrag darauf zurück. &lt;em&gt;DAO_GEN &lt;/em&gt;baut mir also den gesamten DAO-Zweig und die Models. Er ist schnell und macht keine Tip-Fehler. Für so einen Projekt-Baum braucht er 2-3 Sekunden.&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;br/&gt;
    &lt;p&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;Da die wesentlichen Dinge dieses Projektes generischen Ursprungs sind wird glaube ich jedem klar, dass etwaige Source-Code-Downloads sinnlos sind.&lt;/font&gt;&lt;/p&gt; &lt;br/&gt;
    &lt;p&gt;&lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt; &lt;br /&gt;Die DataSource-Konfiguration in der db.properties sieht so aus:&lt;br /&gt;&lt;br /&gt;#mysql DB properties&lt;br /&gt;MYSQL_DB_DRIVER_CLASS=com.mysql.jdbc.Driver&lt;br /&gt;MYSQL_DB_URL=jdbc:mysql://x.x.x.x:3306/warenwirtschaft&lt;br /&gt;MYSQL_DB_USERNAME=wws&lt;br /&gt;MYSQL_DB_PASSWORD=ohlala&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#informix DB Properties&lt;br /&gt;INFORMIX_DB_DRIVER_CLASS=com.informix.jdbc.IfxDriver&lt;br /&gt;INFORMIX_DB_HOST=x.x.x.x&lt;br /&gt;INFORMIX_DB_PORT=100000&lt;br /&gt;INFORMIX_DB_SERVER=MickyMouse&lt;br /&gt;INFORMIX_DB_USER=wws&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;INFORMIX_DB_PASSWORD=japadappaduh&lt;br /&gt;INFORMIX_DB_DATABASE=warenwirtschaft&lt;br /&gt;&lt;br /&gt;...und die passende Factory so:&lt;/font&gt;&lt;/p&gt; &lt;br/&gt;
    &lt;div align=&quot;center&quot;&gt; &lt;br/&gt;
      &lt;p&gt;&lt;img src=&quot;https://www.niweau.de/bilder/andere/MigDataSourceFactory.jpg&quot; class=&quot;geraet&quot; align=&quot;middle&quot; /&gt; &lt;br /&gt;&lt;/p&gt; &lt;br/&gt;
      &lt;p&gt;Die Factory&lt;br /&gt;&lt;/p&gt; &lt;br/&gt;
    &lt;/div&gt; &lt;br/&gt;
    &lt;p&gt; &lt;/p&gt;&lt;/font&gt; &lt;br/&gt;
  &lt;p&gt; &lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt; &lt;br/&gt;
Es ist also nichts Aufregendes, oder revolutionär Neues zu erkennen. Mit dem Rückgabe Object DataSource können die generierten DAOs sofort arbeiten, aus den generierten Models Listen erstellen und diese dann wieder aus der Liste abtrennen und in die Ziel-Datenbank ablegen. Das Ergebnis prüfen wir auf der Mysql gegen das Ergebnis (s.o.) von der Informix mit:&lt;br/&gt;
&lt;/font&gt;&lt;/p&gt; &lt;br/&gt;
  &lt;p&gt; &lt;/p&gt; &lt;br/&gt;
  &lt;p class=&quot;western&quot; style=&quot;margin-bottom: 0.35cm;&quot;&gt; &lt;font color=&quot;#0000ff&quot;&gt;&lt;font face=&quot;Courier New, serif&quot;&gt;&lt;font style=&quot;font-size: 10pt;&quot; size=&quot;2&quot;&gt;&lt;strong&gt;SELECT&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Courier New, serif&quot;&gt;&lt;font style=&quot;font-size: 10pt;&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=&quot;#0000ff&quot;&gt;&lt;font face=&quot;Courier New, serif&quot;&gt;&lt;font style=&quot;font-size: 10pt;&quot; size=&quot;2&quot;&gt;&lt;strong&gt;sum(&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Courier New, serif&quot;&gt;&lt;font style=&quot;font-size: 10pt;&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=&quot;#808000&quot;&gt;&lt;font face=&quot;Courier New, serif&quot;&gt;&lt;font style=&quot;font-size: 10pt;&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;table_rows&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=&quot;#808000&quot;&gt;&lt;font face=&quot;Courier New, serif&quot;&gt;&lt;font style=&quot;font-size: 10pt;&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;)&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=&quot;#0000ff&quot;&gt;&lt;font face=&quot;Courier New, serif&quot;&gt;&lt;font style=&quot;font-size: 10pt;&quot; size=&quot;2&quot;&gt;&lt;strong&gt;FROM&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Courier New, serif&quot;&gt;&lt;font style=&quot;font-size: 10pt;&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=&quot;#808000&quot;&gt;&lt;font face=&quot;Courier New, serif&quot;&gt;&lt;font style=&quot;font-size: 10pt;&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;INFORMATION_SCHEMA&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=&quot;#0000ff&quot;&gt;&lt;font face=&quot;Courier New, serif&quot;&gt;&lt;font style=&quot;font-size: 10pt;&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;.&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=&quot;#0000ff&quot;&gt;&lt;font face=&quot;Courier New, serif&quot;&gt;&lt;font style=&quot;font-size: 10pt;&quot; size=&quot;2&quot;&gt;&lt;strong&gt;TABLES &lt;/strong&gt;&lt;span lang=&quot;de-DE&quot;&gt;&lt;strong&gt;WHERE&lt;/strong&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Courier New, serif&quot;&gt;&lt;font style=&quot;font-size: 10pt;&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;de-DE&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=&quot;#808000&quot;&gt;&lt;font face=&quot;Courier New, serif&quot;&gt;&lt;font style=&quot;font-size: 10pt;&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;de-DE&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;TABLE_SCHEMA&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Courier New, serif&quot;&gt;&lt;font style=&quot;font-size: 10pt;&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;de-DE&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=&quot;#0000ff&quot;&gt;&lt;font face=&quot;Courier New, serif&quot;&gt;&lt;font style=&quot;font-size: 10pt;&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;de-DE&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;=&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Courier New, serif&quot;&gt;&lt;font style=&quot;font-size: 10pt;&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;de-DE&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=&quot;#008000&quot;&gt;&lt;font face=&quot;Courier New, serif&quot;&gt;&lt;font style=&quot;font-size: 10pt;&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;de-DE&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&apos;warenwirtschaft&apos;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=&quot;#0000ff&quot;&gt;&lt;font face=&quot;Courier New, serif&quot;&gt;&lt;font style=&quot;font-size: 10pt;&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;de-DE&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;br/&gt;
  &lt;p&gt; &lt;font size=&quot;4&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt; &lt;br/&gt;
Das war es dann - fertig. Ach so, da war noch was: xx=10, yy=30 und zz=05 - ich muss meine Stundensätze erhöhen &lt;img src=&quot;https://niweau.de/nw/images/smileys/smile.gif&quot; class=&quot;smiley&quot; alt=&quot;:-)&quot; title=&quot;:-)&quot; /&gt;&lt;br/&gt;
&lt;/font&gt;&lt;/p&gt; &lt;br/&gt;
  &lt;p&gt; &lt;/p&gt;&lt;/p&gt;

</content>
    </entry>
</feed>

