Automatisierter MS SQL Server 2008 R2 Datenimport
- FlowHeater-Team
- Autor
- Offline
- Administrator
wenn wir eine MS SQL 2008 R2 Datenbank dauerhaft pflegen möchten und in gewissen abständen einen neuen Import durchführen möchten. Kann Flowheater die bestehende Tabelle in der SQL Server Datenbank Aktualisieren?
Zum Beispiel
Lieferant sendet neue Preisliste, wir überschreiben die alte Preisliste mit Flowheater.
Oder
Wir haben einen Katalog der in gewissen abständen (jeden Tag) neu aktualisiert wird. Kann Flowheater diesen Import automatisiert starten und durchführen?
B. Bojic
Anfrage per email erhalten
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Autor
- Offline
- Administrator
das kann ich mit den vorliegenden Informationen nicht zu 100% garantieren, aber grundsätzlich wurde der FlowHeater genau für solche Szenarien entwickelt.
Es ist zum Beispiel möglich über CSV oder Excel Dateien Tabellen in einer SQL Server 2008 Datenbank zu aktualisieren (= alte Werte Überschreiben). Auch ist der automatisierte Import über das Batch Modul möglich.
Wenn Sie mir weitere Informationen liefern können wir das Ganze auch noch weiter konkretisieren.
Interessant wäre z.B. in welchen Format liegen Ihre Preislisten bzw. Kataloge vor? Wie sind die Tabellen aufgebaut in die die Daten importiert werden sollen?
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- B. Bojic
- Offline
- Benutzer
- Beiträge: 21
danke erst mal für die schnelle Antwort.
Für den Import sollen verschiedene CSV und Excel verwendet werden.
Satzaufbau über Spalten bei Excel, bei CSV Trennzeichen | .
Nun sollen in gewissen Abständen die CSV´s und Excel aktualisiert werden.
Es soll der Datensatz in der SQL mit den Änderungen in der CSV oder Excel Dateien überschrieben werden.
Dies sollte auch Automatisiert funktionieren.
Könnten sie das mal Remote mit mir ansehen ?
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Autor
- Offline
- Administrator
über folgende Links finden Sie 2 Beispiele die genau Ihr Vorhaben beschreiben.
- Import sowie Update in MS SQL Server Datenbanken mit CSV Textdateien , kann problemlos auch mit Excel Arbeitsblättern durchgeführt werden.
- Automatisierter Import über das Batch Modul , hier wird zwar eine Access Datenbank verwendet das Beispiel kann aber 1:1 auch für den MS SQL Server verwendet werden.
Kleiner Hinweis: Wenn Ihre SQL Server Datenbank von einem drittanbieter ist (Warenwirtschaftsystem oder ähnliches) müssen Sie natürlich diese vorgeschrieben import/update Anweisungen befolgen. Das kann soweit gehen, dass evtl. eine automatische Lösung nicht durchführbar ist bzw. Sie ihren Support mit dem Softwarehersteller verlieren wenn Sie selbst Daten verändern bzw. importieren.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- B. Bojic
- Offline
- Benutzer
- Beiträge: 21
Kann man mit flowheater mehrere Tabellen in der Datenbank in einem Arbeitsgang befühlen oder muss jede Tabelle separat bearbeitet werden.
Grüße
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Autor
- Offline
- Administrator
ja das geht, wird seit Version 3.1.0 unterstützt.
Über das Plus Zeichen (s. ReleaseNotes zur Version 3.1.0 ) auf der WRITE Seite können Sie beliebige viele Adapter hinzufügen. Pro Tabelle benötigen Sie einen separaten Adapter. Je nachdem wie Ihre Daten aufgebaut sind müssen die Adapter unterschiedlich konfiguriert werden. 1:n Beziehung, etc.
z.B. müssen Sie bei 1:n Beziehungen im ersten Adapter angeben, dass vorhandene Datensätze ignoriert werden sollen.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- B. Bojic
- Offline
- Benutzer
- Beiträge: 21
Das bedeutet ich kann auf der reader Seite 10 Tabellen aus der MS Sql hinzufügen und die mit zB 2 unterschiedlichen csv Dateien füllen?
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Autor
- Offline
- Administrator
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Autor
- Offline
- Administrator
z.B. FHBatch.exe /ReadFileName *.csv Ihre-CSV-Import-Definition.fhd
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- B. Bojic
- Offline
- Benutzer
- Beiträge: 21
Ich hab jetzt 600.000 Datensätze die ich jetzt einen nach dem anderen einlesen möchte.
Wie mache ich das jetzt. Ich würde gerne einen Ordner Import Flowheater anlegen und alles was sich in diesem Ordner befindet soll automatisiert verarbeitet werden. Gibt es die Möglichkeit das der flowheater etwas schneller arbeite da es sich bei mir um ca 6 GB Daten handelt.
Was ich noch vergessen habe, es sind verschiedene Datensetzte die ich einlesen möchte muss ich die trennen oder erkennt die Software um welchen import es sich handelt.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Autor
- Offline
- Administrator
eine automatische Erkennung des Eingangsformates der Textdatei bzw. Excel Arbeitsmappe ist leider nicht möglich.
Um das durchführen zu können benötigen Sie für jedes Eingangsformat eine separate FlowHeater Definition (.fhd Datei). Wenn diese Import Definition über den Designer mit einer Datei läuft können Sie diese mittels des Batch Moduls automatisieren. Dabei können Sie über Wildcards unterscheiden welche Dateien verarbeitet werden.
z.B. alle Format-1*.csv Dateien über Definition 1 und alle Format-2*.csv Dateien über Definition 2. Das Ganze ist beliebig erweiterbar.
FHBatch.exe /ReadFileName Format-1*.csv Ihre-Import-Definition-für-Format-1.fhd
FHBatch.exe /ReadFileName Format-2*.csv Ihre-Import-Definition-für-Format-2.fhd
Beschleunigen) Mann kann an dieser Ecke viel tun, hängt aber sehr stark von Ihren Eingangsdaten (TXT, CSV, XLS, XLSX, ...) sowie auch davon wie/wo Sie diese Dateien ablegen möchten. Z.b. sollen die Daten in einer lokalen SQL-Server Datenbank abgelegt werden oder steht die Datenbank bei einem Provider und ist nur übers Internet erreichbar? Müssen immer alle Daten geladen werden, oder können die Daten bereits vorab gefiltert werden, so dass nur jeweils eine kleiner Teil bzw. aktuelle Daten verwendet werden, usw. Hier müssten Sie mal etwas genauer schildern was durchgeführt werden soll.
Datenmenge) Sie schreiben, dass Sie 600.000 Datensätze haben. Ich kann mir jetzt nicht vorstellen, dass daraus 6 GB entstehen sollen? In welchem Format liegen denn die Daten vor? Oder sind hier Bilder/Dateien (Binärdaten) mit dabei die in die Datenbank importiert werden sollen?
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- B. Bojic
- Offline
- Benutzer
- Beiträge: 21
ich probiere gerade den erste Import mit FlowHeater und habe da ein paar Fragen.
-Nun habe ich auf der Write Seite im SQL Adapter neue Felder hinzugefügt und würde sie gerne mit der SQL_DB Aktualisieren. Wie kann ich die DB aktualisieren? Beim Testlauf bekomme ich 2 Hinweise. Einmal FH:(not Available) und einmal FH:(not set).
-Des weiteren hat die Datenbank die AutoID. Im Testlauf bekomme ich (? DB AutoID) muss ich da einen Heater AutoID verbauen?
-Beim verbinden von den Pipes von der Readerseite in 2 WriterAdapter kann ich direkt von der Readerseite in die Writerseite ziehen oder muss ich einen Heater Clone einsetzten? Oder wann sollte man clonen?
Grüße
B.Bojic
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- B. Bojic
- Offline
- Benutzer
- Beiträge: 21
Hier nochmal
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- B. Bojic
- Offline
- Benutzer
- Beiträge: 21
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- B. Bojic
- Offline
- Benutzer
- Beiträge: 21
kann ich mit Flowheater beim Import in die SQL auch zusätzlich eine eigenständige eindeutige Nummer neben der AutoID zu jedem Teil vergeben?
Zum Beispiel.
ID | Schlüsselnummer | Meine_Nummer
0 | 0710960 | BB0815
1 | 0710555 | BB0816 usw
MfG
B.Bojic
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Autor
- Offline
- Administrator
Bitte haben Sie Verständnis, dass ich Ihnen hier im Forum keine Einführung der Software geben kann. Um die grundlegenden Funktionen zu erlernen versuchen Sie sich bitte vorher mit den Einführungsbeispielen sowie den einfachen Daten Import Beispielen. Hier empfehle ich Ihnen die Access Beispiele , die benötigte Datenbank ist hier im ZIP Archiv enthalten. Dieses grundlegende Vorgehen können Sie dann auch für Ihre Importe in den MS SQL Server verwenden.
Zu Ihren Fragen
- Wenn Sie auf der WRITE Seite Felder hinzufügen werden diese nicht in der Datenbank angefügt. Diese Funktionalität ist derzeit nur im SQLite Adapter verfügbar. Sie müssen die Felder über den SQL Management Studio manuell vorher hinzufügen.
FH (not available) = Das Feld wurde im FlowHeater manuell hinzugefügt und ist in der Datenbank nicht verfügbar
FH (not set) = Es wurde kein Wert übergeben, das Feld wurde nicht aktualisiert. - (? DB AutoID) bedeutet, dass dieses Feld als AutoIncrement (Identity) Spalte angelegt ist. Im Testmodus wird kein Insert durchgeführt, deswegen kann hier noch kein Wert angezeigt werden. Wenn die Definition ausgeführt wird, wird der von der Datenbank vergebene Identity Wert angezeigt. Einen AutoID Heater benötigen Sie in diesem Fall nicht.
- Sie können die Felder von der READ zur WRITE Seite direkt verbinden. Clonen müssen Sie nur wenn viele Funktionen auf dem Designer sind um das Ganze etwas übersichtlicher gestalten zu können. Die eigentliche Verwendung des Clone Heaters ist den Feldinhalt zu klonen/kopieren um ihn ein weiteres Mal einem Heater zuweisen zu können, z.B. IF-THEN-ELSE Heater . Mehr dazu finden Sie in der Hilfe.
- Eine eigene fortlaufende Nummer können Sie auf unterschiedliche Arten durchführen. Die einfachste ist über den AutoID Heater und den String Append Heater . Hier müssen Sie die den Startwert jedes Mal bei jedem lauf manuell im AutoID Heater neu vergeben. Andere Variante über einen .NET Script Heater , der sich jeweils den letzten Wert in einer Datei merkt. Im Anhang finden Sie ein kleines Beispiel in dem beide Varianten zur Anwendung kommen.
PS: Bitte eröffnen Sie für jede Frage ein separates Thema, Danke.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.