FlowHeater Demo Video
 
Der Daten Import / Export Spezialist
 
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
×

Erweiterte Suche

Suche nach Stichwort
×

Suchoptionen

Finde Beiträge von
Ergebnisse sortieren nach
Suche zu einem bestimmten Zeitpunkt
Zu Resultat springen
Suche in Kategorien
×

Suchergebnisse

Gesucht wurde: SQL Lookup
11 Jan 2017 07:31
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Florian,

Sie können Werte von der READ bzw. WRITE Seite mit Hilfe des SQL Heater oder des Lookup Heater auslesen. Der SQL Heater bietet u.a. die Möglichkeiten beliebige SQL Statements auf der jeweiligen Datenquelle abzusetzen inkl. Updates sowie ist es hier möglich den Zeitpunkt der Ausführung festzulegen (Start, pro Zeile/Satz, Ende).


zu 1) Auslesen der letzten ID mittels des SQL Heater beim Start der Definition, der Wert wird dabei in einem FlowHeater Parameter (z.B. $ID$) gespeichert. Diesen Parameter können Sie nun mit hilfe des Addition Heater pro Datensatz um 1 (s. Screenshot) erhöhen und als Wert für Felder verwenden. Entweder als Default wert einfach den Namen des Parameters mit Dollarzeichen umschließen ($ID$) oder aber Sie verwenden den Get Parameter Heater und verbinden den Ausgang mit dem Feld.

Am Ende lassen Sie einen weiteren SQL Heater ausführen (Ausführen bei auf „Ende“ stellen). Hier schreiben Sie den so veränderten Wert wieder zurück.
Der SQL lautet dabei folgendermaßen: update t_Tabelle set ID = $ID$ where feld = bedingung

Hinweis: Ich bin mir nicht ganz sicher was Sie vorhaben, denke aber dass Das evtl. auch mit Parametern und der Option dass diese für die weitere Verwendung gespeichert werden sollen funktionieren sollte.


Zu 2) im Prinzip wie 1) Auslesen des Feldes per SQL Heater beim Start der Definition. Um jetzt mit nicht nummerischen Felder rechnen zu können müssen Sie hier vor der Berechnung erstmal die ersten 3 stellen extrahieren und anschließend wieder zusammenführen. Beispiel siehe Anhang.


PS: Es wäre besser wenn Sie grob umschreiben was sie vorhaben damit ich mir davon ein Bild machen kann um etwas genauer auf Ihr Problem einzugehen.

SQL Heater bei Start


SQL Heater bei Ende
Kategorie: Allgemein
13 Dez 2016 06:23
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Rindt,

eine andere Alternative wäre es den Umrechnungskurs mit einem gültig ab Datum in einer Datenbank zu speichern und diesen dann mittels des SQL Heater bzw. Lookup Heater abzufragen. Die Datenbank kann über die WRITE Seite zusätzlich mit eingebunden werden. So könnten Sie alle Jahre gleich abdecken und müssten nicht für jedes Jahr das Skript für den .NET Script Heater anpassen.

Das Beispiel dazu ist etwas umfangreicher, ich werde dafür demnächst mal ein etwas ausführlicheres Beispiel erstellen und veröffentlichen. Vielen Dank für die Anregung.
Kategorie: Allgemein
21 Nov 2016 06:31
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Birk,

vielen Dank für den Verbesserungsvorschlag. Das steht bereits auf der TODO Liste. Geplant ist ähnlich wie beim SQL Heater bzw. Lookup Heater den Adapter auf dem sich die Filter Aktion Auswirken soll anzugeben. Allerdings ist hier die Umsetzung etwas komplizierter, die Umsetzung ist für erstes Quartal 2017 geplant.

Bis dahin müssten Sie Ihre angegebene alternative mit zwei Definitionen verwenden.
Kategorie: Anregungen
08 Nov 2016 11:20
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Friedrich,

ich denke das wäre möglich bin mir aber nicht ganz sicher ob ich Sie richtig verstanden habe. Sie können z.B. mit dem SQL Heater in der Datenbank prüfen ob eine Artikel ID bereits vorhanden ist oder nicht. Falls der Artikel nicht vorhanden ist wird der Datensatz in der CSV Datei einfach übersprungen bzw. gefiltert.

Hierzu benötigen Sie einmal einen Set Parameter Heater mit dem Sie die Artikel Nummer in einem FlowHeater Parameter zwischenspeichern. Dann einen SQL Heater der mittels des gesetzten Parameters prüft ob die Artikel Nummer aus der CSV Datei in der Datenbank bereits vorhanden ist. Sie benötigen dazu folgenden SQL Select
Select count(*) from t_Artikel where ArtikleNr = ‚$PARAMETER-NAME$‘

Hiermit holen Sie sich einen Zähler der angibt wie die Artikel Nummer in der Datenbank bereits existiert. Wenn der SQL Heater der Wert 0 liefert müssen Sie den Datensatz über den Filter Heater aus der CSV Menge herausfiltern. Für die Filterbedingung benötigen Sie noch einen IF-THEN-ELSE Heater .

Im Anhang finden Sie ein kleines Beispiel dazu.

Dateianhang:

Dateiname: csv-dynami...tern.zip
Dateigröße:2 KB


PS: Alternativ würde die Prüfung auch über eine weiter Textdatei und einem CSV Lookup über den String Replace Heater funktionieren.
Kategorie: TextFile Adapter
08 Okt 2016 15:45
  • Ralf Birk
  • Ralf Birks Avatar
Hallo Herr Stark,

vielen Dank für Ihre rasche Antwort.
Ihr Link geht zur normalen anstatt der Beta Version. Ich habe diese über die mir bekannte Adresse heruntergeladen.
Leider gehr es mit der Variablen immer noch nicht (Siehe angehängtes Bild).
Zur Geschwindigkeit ist zu sagen, das auser ein wenig sortieren sonst nichts gemacht wird (sehen Sie auch auf dem Screenshot).

Meine Alternative Lösungssuche über SQlite haben Sie vermutlich missverstanden. Mit dem Anreichern den Dateinamens ist dis sicherlich nicht zu Lösen.
Im ersten Flow zähle ich die Datensätze, die eine gleiche Nummer haben. Im 2. Flow (Sceenshot) muss ich die Daten in der Reihenfolge 1.Palettennr., 2. Bundnr, 3 Sendungsnr. umsortieren. Bundnummer wird mit dem Lookup mit der Anzahl im Bund ersetzt, da die kleinen Bunde unten auf einer Palette sitzen müssen. Wenn jetzt z.B. Bund 1 20 Datensätze beinhaltet, kommt die 1 in der SQlite 20 mal und der Lookup-Csv 1 mal vor. Hier kommt dann immer der Indexfehler.

Gruß

Ralf B.
Kategorie: TextFile Adapter
08 Okt 2016 13:07
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Birk,

über folgende Links können Sie sich eine BETA Version herunterladen. Hier wurde der String Replace Heater so angepasst, dass für die CSV Lookup Datei auch FlowHeater Parameter verwendet werden können.

FlowHeater Beta 32 Bit
FlowHeater Beta 64 Bit

Zu Ihrem Problem) Wenn ich hier eine CSV Datei mit 100.000 Zeilen sowie eine CSV Lookup Datei ebenfalls mit 100.000 verarbeite, dauert das bei mir auf einem relativ langsamen Rechner ca. 5 Minuten. Liegt Ihre CSV Datei evtl. auf einer Netzwerkressource, oder greifen Sie mehrmals, mit mehreren String Replace Heatern auf die CSV Lookup Datei zu?

Damit Sie ein eindeutiges Kriterium für eine Lösung über SQLite bekommen, können Sie z.B. auch den Dateinamen der gerade verwendeten CSV Datei in einer Spalte mitverwenden, so wie Sie es auch für die CSV Lookup Datei tun.

Hinweis: Um den Dateinamen zu erhalten ist kein .NET Script Heater mehr notwendig, dazu können Sie seit längerem den System Heater verwenden.
Kategorie: TextFile Adapter
02 Sep 2016 05:23
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Marko,

so wie du es geschrieben hast bin ich davon ausgegangen, dass du lediglich die READ Seite betrachten willst um dann das Ergebnis davon in eine andere SQL Server Datenbank wegzuschreiben.

Das „ignored“ bedeutet, dass in der Zieldatenbank ein Datensatz mit dem im FlowHeater definierten Primary Key existiert. Da du hier „vorhandene Datensätze ignorieren“ gewählt hast wird der Datensatz nicht nochmal auf in der WRITE Seite angelegt.

Jetzt kommt es darauf an was du tun möchtest? Ich vermute mal es sollen die Datensätze auf der Write Seite aktualisiert und die neu berechneten Werte der READ Seite sollen auf der WRITE abgezogen bzw. aufaddiert werden?
Einmal muss du dazu auf der WRITE Seite Insert und Update aktivieren, sowie muss die Option „vorhandenen Datensätze ignorieren“ deaktiviert werden.

Dann benötigst du dazu entweder einen Lookup Heater oder aber einen SQL Heater um die bestehenden Werte vorher auszulesen um damit dann die gewünschte Berechnung durchführen zu können bevor der Datensatz aktualisiert wird.

Bevor ich jetzt weiter in die Tiefe gehe bitte etwas genauer beschreiben was du genau durchführen möchtest.
Kategorie: SqlServer Adapter
21 Jul 2016 18:26
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Nigg,

das Beispiel ist etwas dürftig! Was meinen Sie mit Lookup? Möchten Sie hier Daten aus einer anderen Datenquelle anzapfen? Bitte etwas genauer formulieren bzw. Beispieldaten READ/WRITE posten, Danke.

Mehrere Felder der READ Seite können mittels des String Append Heater zu einem Feld auf der WRITE zusammengefasst werden. Wenn gewünscht können Sie die Inhalte mittels eines Trennzeichens voneinander trennen.

Beispiel zum String Append Heater finden Sie hier im Forum
2 READ Spalten in 1 WRITE Spalte
Weitere String Append Heater Beispiele ...
Kategorie: Allgemein
27 Jun 2016 18:22
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Elsner,

es gibt derzeit zwei Möglichkeiten sowas durchzuführen.
  1. Relativ einfach über den String Replace Heater und einem CSV Lookup. Sie benötigen pro Feld das Sie aus der zweiten CSV Datei verwenden möchten benötigen Sie einen CSV Lookup bzw. String Replace Heater. Hier finden Sie einige Beispiel dazu:
    Mehrere CSV Input Dateien auf der READ Seite
    Vergleichswerte aus einer Textdatei heranziehen
    weitere Beispiel zum CSV Lookup hier im Forum ...

  2. Etwas komplizierter über eine temporäre SQlite Datenbank . Diese Lösung ist vorzuziehen wenn viele Felder einer oder von mehreren CSV Dateien eingemischt werden sollen.

    Hier finden Sie ein ausführliches Beispiel dazu: CSV und Excel Daten über SQLite Datenbank zusammenführen

    Das Beispiel verwendet zwar eine Excel und eine CSV Textdatei , kann aber leicht an Ihre Bedürfnisse angepasst bzw. erweitert werden
Kategorie: TextFile Adapter
12 Apr 2016 06:17
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Brandt,

um mehrere READ Quellen miteinander zu verknüpfen gibt es mehrere Möglichkeiten. In Ihre Fall die einfachste wird es sein einfach die zwei Tabellen bereits beim Lesen mit dem Datenbank Adapter auf der READ Seite über einen SQL JOIN miteinander zu verknüpfen.

z.B.
SELECT * FROM tabelleA LEFT JOIN tabelleB on tabelleA.Artikelnummer = tabelleB.Artikelnummer

Der LEFT JOIN wird in Ihrem Fall benötigt da in Tabelle B nicht alle Datensätze vorhanden sind.

Andere Möglichkeiten mehrere READ Quellen miteinander zu verknüpfen wären.
  1. Wenn die Daten in CSV Textdateien vorliegen, können Sie einen CSV Lookup über den String Replace Heater verwenden. Beispiel dazu finden Sie hier :

  2. Über den SQL Heater und einem SQL Lookup, Beispiele dazu finden Sie hier .

  3. Über eine Temporäre SQLite Datenbank , ein Beispiel dazu finden Sie hier: CSV und Excel Daten über SQLite Datenbank zusammenführen
Subtrahieren mit Bedingung)
Dazu benötigen Sie den IF-THEN-ELSE Heater , über den Sie die Bedingung definieren „Wenn Lager größer gleich 9995 und kleiner gleich 9999“ dann subtrahiere von dem Wert den Bestand aus Tabelle B. Der IF-THEN-ELSE Heater leitet den Wert der Tabelle B nur an den Subtraction Heater weiter wenn die Bedingung zutrifft, im Anhang finden Sie ein kleines Beispiel dazu.

Dateianhang:

Dateiname: subtrahier...gung.zip
Dateigröße:2 KB
Kategorie: TextFile Adapter
08 Mär 2016 06:35
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Hesse,

mehrere Adapter werden derzeit nur auf der WRITE Seite unterstützt, für die READ Seite ist es in Planung.

Der FlowHeater unterstützt aber zwei andere Leistungsfähige varianten um mehrere CSV Dateien miteinander zusammenzuführen.
  1. Wenn nur wenige Felder aus einer oder auch mehreren CSV Dateien in eine „Haupt CSV Datei eingefügt werden müssen genügt meistens ein CSV Lookup über den String Replace Heater .

    Beispiele dazu finden Sie hier im Forum genügend

  2. Wenn Sie sehr komplexe CSV Dateien haben und aus mehreren CSV Dateien vielen Spalten zusammengeführt werden müssen ist der Umweg über eine temporäre SQLite Datenbank besser. Hier finden Sie ein ausführliches Beispiel, wie Excel und CSV Dateien miteinander vermischt werden können: CSV und Excel Daten über SQLite Datenbank zusammenführen
Kategorie: TextFile Adapter
11 Nov 2015 20:25
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Rabe,

hierzu gibt es zwei mögliche Varianten.
  1. Sie exportieren über eine eigene vorgelagerte Definition die benötigten Daten in eine CSV Textdatei und verwenden diese um in der eigentlichen Definition mittels des String Replace Heater einen CSV Lookup zu implementieren.

    Beispiele zum CSV Lookup finden Sie hier:
    Aus 2 CSV Dateien eine CSV Datei erstellen
    Mehrere Datenquellen auf der READ Seite

  2. Sie fügen diese SQL Datenquelle als weiteren Adapter auf der WRITE Seite hinzu (siehe Screenshot). Im Adapter aktivieren Sie die Optionen "Daten anfügen (Insert)" und „Keine Daten ändern oder hinzufügen nur SQL Skript generieren“. So werden in der SQL Datenbank keine Daten geändert oder hinzugefügt, wichtig Sie müssen min. ein Feld mit dem Adapter verbinden. Nun können Sie den SQL Heater verwenden um aus dieser Datenquelle per Lookup Daten abzurufen.

    Achtung: Der Adapter für die SQL Datenquelle muss als erster Adapter vorhanden sein, da der SQL Heater momentan nur auf den ersten Adapter zugreifen kann!

Kategorie: Excel Adapter
19 Okt 2015 15:55
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Worch,

vielen Dank für die Videos, waren sehr hilfreich.

Die Verzögerung tritt im Fitter während der Transformation auf und nicht beim Lesen/Schreiben über den Oracle Adapter . Im Video ist zu erkennen, dass Sie einen weiteren Layer angelegt haben. Ist hier ein SQL Heater / oder Lookup Heater im Einsatz der evtl. eine weitere Verbindung zur Oracle Datenbank aufbaut um Daten für eine Bedingung , Filter etc. abzurufen?

Könnten Sie evtl. die betroffene Definition posten oder mir per Email zukommen lassen?

Um sicherzugehen, ob nicht doch die neueren Oracle Datenbanktreiber dafür verantwortlich sind wäre folgender Test hilfreich für eine weitere Analyse. Bitte kopieren Sie aus dem V3 BIN Ordern alle Dervart.XXXX.dlls über die DLLs im V4 BIN Ordner. Anschließend starten Sie die Version 4 und führen die Definition erneut aus. Wenn es hiermit schneller geht sind die neueren Treiber dafür verantwortlich. Dann muss ich auf den Hersteller zugehen.

Zu Ihrer Frage bzgl. Limitierung der Datensätze in der Registrierten Version. Diese Limitierung wurde in Version 3 eingebaut, in Version 4 ist das so nicht mehr vorhanden. Wenn Sie die betroffene Definition einmalig mit der registrierten Version 3 speichern kann diese Definition wieder normal ohne Limitierung verwendet werden.
Kategorie: Oracle Adapter
19 Jun 2015 07:10
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Wende,

das geht über einen CSV Lookup mit Hilfe des String Replace Heaters .

Vorgehen
Auf der READ Seite lesen Sie Ihre zweite CSV Datei und verbinden die Felder mit der CSV Datei der WRITE Seite des TextFile Adapters .

Dann benötigen Sie einen String Replace Heater um in der ersten CSV Datei nachzusehen ob ein passender Datensatz vorhanden ist. Falls nicht wird der Heater so konfiguriert, dass der Wert „Nicht gefunden“ zurückgeliefert wird. Mittels dieser Rückgabe wird eine Filterbedingung gebildet um die die nicht benötigten CSV Sätze zu filtern .

Im Anhang finden Sie ein kleines Beispiel dazu. Der String Append Heater wird benötigt um die Textbegrenzungszeichen („Hochkommas“) wieder an den Inhalt anzufügen, damit kann der String Replace Heater noch nicht umgehen.

Das hier beschriebene Vorgehen kann auch mit CSV Dateien mit 60.000 Zeilen verwendet werden. Um noch größere Datenmengen verarbeiten zu können kann auch der Umweg über eine Temporäre Datenbank gemacht werden. Hier finden Sie ein kleines Beispiel dazu: CSV und Excel Daten über SQLite Datenbank zusammenführen

Dateianhang:

Dateiname: csv-lookup...eich.zip
Dateigröße:2 KB
Kategorie: TextFile Adapter
10 Feb 2015 20:26
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Schauerte,

Hinweis) Die Adapter Eigenschaft „Resume On Error“ wirkt sich momentan nur bei der Ausführung von generierten SQL INSERT/UPDATE Statements auf der WRITE Seite sowie bei Daten Lookups und dem SQL Heater sowohl auf der READ als auch auf der WRITE Seite aus. Der SELECT der Daten auf der READ Seite ist damit nicht abgedeckt, da wenn der mit Fehler endet eh keinen Daten vorhanden sind.

Zu Ihrem Problem) Der Fehler sollte doch auch auftreten wenn Sie den Export von ODBC nach MySQL über den Designer anstoßen? Welche Fehlermeldung wird Ihnen hier angezeigt?
Kategorie: ODBC Adapter
16 - 30 von 60 Ergebnissen angezeigt.
Ladezeit der Seite: 1.504 Sekunden

andere Sprachen

en

FlowHeater Home

de en

Impressum/Kontakt

Datenschutz

Copyright © 2009-2021 by FlowHeater GmbH.
Alle Rechte vorbehalten.

Follow us on

twitter  facebook

YouTube

 de en