Flowheater macht die Datenübernahme einfach

Worum geht es?

Datenübernahme kann ein schwieriges Geschäft sein. Oder eine Routineaufgabe. Ich habe FlowHeater der FlowHeater GmbH gefunden und möchte meine positiven Erfahrungen hiermit teilen.

flowheater

Im Kollegenkreis hat so jeder seine spezielle Art, Daten zu übernehmen. Zu exportieren, zu synchronisieren oder zu importieren. Es werden Tools der Datenbank, eigene Skripte, oder die Funktionen der Entwicklungsumgebung verwendet. Ich bin aber natürlich der Meinung, ich mache es besser. Ich erstelle Definitionen für Datenübertragungen in einer grafischen Umgebung. Das geht nicht nur schneller, es verhindert auch Fehler. Sicher hat man mit selbst geschriebenen Skripten noch mehr und detaillierte Kontrolle, man muss es aber auch kontrollieren, sprich machen. In FlowHeater klickt man zusammen, testet und führt aus. Und wenn man es dann regelmäßig braucht, gibt es die Möglichkeit der geplanten Batchverarbeitung.

Was ist Flowheater?

  • Eine sehr intuitive Umgebung, um 2 Datenquellen zu verbinden. Ist dies geschehen, können einzelne Tabellen über sogenannte Pipes sehr einfach deren Spalten verbinden
  • Auf dem Wege von der Quelle ins Ziel, lassen sich diese Pipes mit … beeinflussen. So sind vielschichtige Änderungen der auf dem Wege befindlichen Daten möglich
  • Ob Daten nur angefügt, ersetzt und/oder aktualisiert werden sollen, ist über einen simplen Mausklick definiert
  • Diese Projekte lassen sich in einem FlowHeater-Dateiformat speichern und jederzeit wiederholen
  • Es gibt viele Konnektoren. Text, CSV, XML, ODBC, um nur einige und für mich wichtigsten zu nennen

Was macht Flowheater besser?

  • Es fängt Probleme ab Eine Verbindung und Datenübertragung funktioniert nahezu immer auf Anhieb. Zudem gibt es Hilfen wie “Testverbindung”
  • Es fängt Aufwand ab Durch die grafische Benutzeroberfläche ist es auch für den Laien recht einfach, eine Datenübertragung zu realisieren. Aber auch der Profi profitiert. In der Situation”schnell mal eben” aber auch bei komplexen Aufgaben. Vor allem durch die Testfunktionen, ohne wirkliche Übertragung, gestalten sich derartige Aufgaben wesentlich entspannter
  • Es wird protokoliert In einer Ergebnisübersicht sieht man, was passiert ist. Insbesondere auch das, was nicht passiert ist, sprich eine Erklärung, warum einzelne Daten nicht angekommen sind.
  • Es werden SQL-Skripte generiert. So ist ein Import auch ohne FlowHeater ausführbar

Beispiele

Online-Banking

Online-Banking habe ich lange Zeit mit Anwendungen wie “Mein Geld” durchgeführt. Doch immer wieder gab es irgendwelche Probleme mit den Zugängen oder Fehler genereller Art. Mir entstand immer mal wieder der Eindruck, dass ich mich mehr mit der Software, als mit den Daten beschäftigt habe. Eine Lösung musste her. Da es mir nur um Auswertung und hierfür Kategorisierungen ging, hatte ich eine realistische Chance, etwas sinnvolles selber programmieren zu können. Gesagt, getan.

Die Daten der Banken liegen online bei jeder mir bekannten Bank als CSV-Download vor. Einen kleinen manuellen Schritt, der Download dieser Daten, musste ich akzeptieren. Um danach aber keine Hampelei mehr zu haben, konnte ich nun auch für den Import dieser Daten etwas selbst programmieren. Oder Flowheater verwenden. Es ist jetzt nicht überraschend, dass ich mich für Letzteres entschieden habe, denn es hat mir eine Menge Arbeit erspart.

Folgende Aufgaben mussten erfüllt werden

  • Eine wiederverwendbare Definition des Imports
  • Reaktion auf Besonderheiten der jeweiligen CSV-Dateien
  • Manche Datenbanken haben einen aufwändigen Header. Der muss übersprungen werden
  • Direkter Import in eine SQL-Datenbank, ohne diese CSV-Daten vorher noch bearbeiten zu müssen

Umsetzung mit Flowheater

In ein definiertes Verzeichnis lade ich die CSV-Dateien herunter. Das ist der einzige Schritt, bei dem ich noch denken muss. Danach lasse ich FlowHeater die Daten in meine SQL-Datenbank (SAP SQL Anywhere 12) importieren. Und da FlowHeater alles für mich macht, sind die Daten schön aufbereitet in meiner eigenen Anwendung auswertbar.

Mit den sogenannten Heater-Funktionen, könnte ich bereits beim Import schon Regeln definieren und Daten aufbereiten. Denn diese bieten Kontrollstrukturen, Zeichenketten-, Zahlen- und Datumsfunktionen. Ich habe es nicht probiert, aber sicher könnte man an der Stelle Buchungen kategorisieren.

Alt text

Beispiel Umstellung von Artikelnummern

Die eigentliche Aufgabe, wie hier in der Überschrift beschrieben, betrifft Flowheater nun nicht wirklich. Dennoch halte ich dieses Beispiel für erwähnenswert.
Es soll in einer Datenbank mit ca. 40.000 Artikel der Artikelnummerstruktur geändert werden. Diese Daten sollten zunächst einmal schön bearbeitbar in eine Exceltabelle übernommen werden. Eigentlich kein großes Problem. Doch hatte ich das Problem, dass genau nach 16.267 Artikeln der Import abgebrochen ist. So ganz spontan habe ich auch nach der Analyse der Quelldaten keinen wirklichen Grund gefunden, woran das lag.

Hier machte sich dann guter Support bezahlt. Ich habe in meiner Ungeduld mal eben eine E-Mail an den Hersteller geschrieben. Schon nach kurzer Zeit bekam ich eine Antwort. Ich durfte Testdaten senden und bekam innerhalb einer Stunde die Lösung mitgeteilt. Und diese lautete wie folgt:

Das Problem ist, dass in der Bezeichnung teilweise ein „=“ am Anfang steht und Excel hier von einer Formel ausgeht. Siehe Zeile 16.267. Sie können das umgehen indem Sie mittels des String Append Heater ein Anführungszeichen am Anfang der Zeichenkette einfügen, siehe Beispiel.

Und das Beispiel konnte ich dann auch sofort verwenden.

Beispiel EXIF Daten

Mit FlowHeater importiere ich die EXIF-Daten völlig automatisch unter Verwendung des Batch-Moduls in unser ERP-System. Jeden Tag. Kein neues oder geändertes Bild wird übersehen. Die entsprechende CSV-Datei lassen ich über ein EXIF-Tool erzeugen. An der Stelle sein angemerkt, dass das Batch-Modul zusätzliche Kosten verursacht, aber auch im Vergleich zu Zeiterspanis und Nutzen ist dies nicht der Rede wert.

Warum lohnt sich die Investition?

  • FlowHeater spart Zeit. Aus meiner Erfahrung heraus kann ich sagen, sehr viel Zeit.
  • Die Software mag in der Optik vielleicht nicht jeden überzeugen, auch ich dachte zu Anfang, hmm, sieht etwas aus der Zeit aus. Doch darf man sich davon nicht im Negativen blenden lassen. Technisch absolut auf der Höhe der Zeit.
  • Es wird eine Batch-Modul angeboten. Definierte Vorgänge lassen sich dadurch automatisieren. Regelmäßiges Übertragen stellt kein Problem dar. Regelmäßiges Befüllen einer MySQL-Datenbank für Web-Anwendungen aus dem eigenen ERP-System oder anderen/weiteren Quellen lassen sich recht einfach realisieren.
  • Wer einmal EXCEL-Daten in sein ERP-System übernehmen wollte, kennt die Basteleien. Das geht mit FlowHeater definitiv deutlich schneller.

 

Total Commander lebt! Version 9 Beta1 erschienen

logo_phpBBKein anderes Tool hat derart lange Bestand in meiner Werkzeugkiste, wie der Total Commander. Ich frage mich nach wie vor, wie man effektiv an seinem PC arbeiten soll, ohne das damals noch Windows Commander genannte Schweizer Messer. Ich bin nach wie vor davon überzeugt, dass wenn man bereit ist, die Möglichkeiten zu erforschen, Shortcuts beherrscht und auch mal die Hilfe bemüht, es einfach nichts produktiveres gibt, im Bereich der Datei- und Verzeichnisverwaltung unter Windows.

An der Stelle einmal ein ausdrückliches „Danke schön“ an Christian Ghisler! Im Übrigen hat er noch nie Update-Gebühren verlangt. Und dies seit vielen Jahren nicht. Und auch mit neuer Version wird er es nicht tun. Ich hätte jedes Update bezahlt. Ohne zu überlegen.

In Version 9.0 beta 1 sind folgende neuen Features enthalten:

Es hat nun wenig Sinn diese Liste hier zu wiederholen. Für mich ein Highlight ist die Integration des „Everything„-Tools. Weitere aus meiner Sicht bedeutende Neurungen sind:

  • Ansichtsmodi, können manuell über das Menü „Anzeigen“ oder automatisch durch benutzerdefinierte Regeln umgeschaltet werden
  • Symbole auf den Tabs (Registerkarten) anzeigen, abhängig vom angezeigten Ordner
  • Gedimmte Symbole für versteckte Dateien / Ordner
  • Klick auf Tab-Header bei Option „gesperrt, aber Verzeichnisänderungen erlaubt“ -> ins Basisverzeichnis dieses Tabs zurückkehren
  • Bessere Unterstützung für Bildschirme mit hoher Auflösung
  • Skalierung der Dialogfelder (OverrideDPI) über Konfigurieren – Einstellungen – Schrift
  • Unicode-Unterstützung für descript.ion-Dateien
  • Umbenennen (Umsch+F6): Pfeil nach oben/Pfeil nach unten um zur vorherigen/nächsten Datei zu springen (konfigurierbar)
  • F5 Kopieren/F6 Bewegen: Combobox mit allen geöffneten Tabs und allen Unterverzeichnissen im Zielfenster (Umsch: Quellfenster)
  • F5 Kopieren: leere Verzeichnisse überspringen durch Anhängen von | **\ an die Zeile „nur Dateien dieses Typs“
  • Dateien direkt löschen (nicht in den Papierkorb): Bei Fehlern erst am Ende der gesamten Operation nachfragen
  • Dateien direkt löschen: Neue Option „Alle überspringen“, falls Dateien fehlen
  • „Everything“-Tool benutzen, um auf NTFS-Laufwerken viel schneller zu suchen, wenn möglich auch bei Netzwerklaufwerken
  • Mehrfach-Umbenenntool:
    • Neue Buttons zum Einfügen seltener benutzter Felder
    • Verbesserter Dialog zur Auswahl von Namensbereichen
    • Automatisches Umbenennen in „name (2).ext“, „name (3).ext“ anbieten, wenn es doppelte Namen gibt, oder Namen, die bereits vorhanden sind
  • Lister:
    • Strg+Umsch+Q: Schnellansicht in einem separaten Lister-Fenster öffnen, Inhalt anpassen beim Wechsel zu anderen Dateien
    • Größeren Puffer verwenden, um große Textblöcke ohne Zeilenumbrüche korrekt anzuzeigen
  • Virtuelle Ordner wie die Netzwerkumgebung asynchron einlesen (schnellere erste Antwort) und in Hintergrund-Thread

Dann werde ich jetzt mal mit dem Beta-test beginnen.

 

Total Commander lebt: Neue Version 8.52 verfügbar

Es gibt vom Total Commander für Windows 10 ein neues Update. Jedoch behebt diese Version nur Fehler.

Und wer es nicht schon gebetsmühlenartig von mir gehört hat: Total Commander ist dem Explorer weit voraus. Manches bzw. vieles ist nicht einmal nur eine Alternative, es geht schlicht mit dem Explorer nicht. Für ernsthaftes Arbeiten unverzichtbar.

 

Im Total Commander Junctions erzeugen

Total Commander DropBox

Junctions sind vor allem in Verbindung mit Dropbox praktisch, da darüber externe Verzeichnisse in das DropBox-Verzeichnis eingebunden werden können.

An dieser Stelle ein wichtiger Hinweis: Im Dropbox-Ordner müssen die Originaldateien enthalten sein, extern der Link!

Die Junction jedes mal an der Kommandozeile zu erstellen, ist lästig.  Diese hat übrigens die folgende Syntax:

MKLINK /J <LINK> <ZIEL>

oder

MKLINK /J "p:\Meine Dateien" "X:\My Dropbox\Meine Dateien"

Schneller geht es im Total Commander mit einem Button in der Buttonbar. Dieser ruft ein noch zu erstellendes Batchscript auf. Als Parameter gibt man „%P“ %S „%T“ an. Das Batchscript hierfür sieht wie folgt aus:

rem mklink [[/d] | [/h] | [/j]] <Link> <Target>
rem          /d Creates a directory symbolic link. By default, mklink creates a file symbolic link.
rem                 /h Creates a hard link instead of a symbolic link.
rem                        /j Creates a Directory Junction

MKLINK /J %3%2 %1%2
pause
exit

Nun markiert man auf der linken Seite das Verzeichnis, welches auf der rechten Seite als Junction repräsentiert werden soll. Ein Klick auf den neuen Button in der Buttobar und das war’s.

Diese wenigen Schritte sind erforderlich, obwohl es dafür extra zu installierende Programme gibt, solche sind also völlig überflüssig.

Fernwartung verwalten und VPN automatisch starten/beenden

mremote_logoHat man viele entfernte Rechner zu benutzen oder zu warten, kommt schnell eine beachtliche Zahl an Konfigurationen zusammen, welche dann auch noch oft im System weit verstreut gespeichert sind. Eine Lösung ist eine Software, die das verwaltet. Hierfür gibt es kommerzielle Lösungen, aber auch kostenlose. Ich verwende mRemote, welches nicht nur einen tollen Leistungsumfang hat, sondern auch als Portable-Version vorliegt.  Zudem werden die Verbindungsdaten in einer externen XML gespeichert, diese kann man dann sinnvollerweise in einem verschlüsselten Laufwerk ablegen.

Nun kam der Wunsch auf, eine vorab herzustellende VPN-Verbindung auch gleich zu starten. mRemote bietet hierfür „Pre.“ und „Post. Ext. Apps“. Hier kann man auch eine Kommandozeile definieren. Mit

rasphome -d <Name der VPN-Verbindung>

startet man vor dem Beginn eine Remote Desktop-Session. Mit

rasphome -h <Name der VPN-Verbindung>

beendet man die Verbindung mit der Post. Ext. App.