Neu CSV-Datei direkt in einer SQL-Abfrage verwenden

mvh

Sehr aktives Mitglied
26. Oktober 2011
1.001
361
Moin.

Im Forum sehe ich sehr oft eine Frage - wie kann ich Lieferantenpreise oder Lieferantenbestände täglich (stündlich/viertelstündlich/alle 5 Minuten) aktualisieren.
Das Szenario: ich lade eine CSV-Datei (oder XML-Datei) vom Lieferanten runter und dort sind neue Preise/Bestände/etc. enthalten.
Hier wird oft Ameise oder bcp.exe (bulk copy utility) oder BULK INSERT (SQL Server Abfrage) oder "ich kenne ein Programm" als eine Lösung
vorgeschlagen, was dann immer zusätzliche Schritte, Fehlerquellen, Tabellen, Kosten, etc. mit sich bringt.

Hier was ich vorschlage:
Wir nutzen eine im SQL Server eingebaute Verbindungsart (OPENROWSET BULK mit Formatfile),
was diese Nachteile nicht hat und in Sekunden (eigentlich Millisekunden) ausgeführt wird.
Hier ein Beispiel für einen Lieferanten von uns (FEBI)
SQL:
UPDATE lief
SET fLagerbestand=TRY_CAST(ISNULL(febi.AVAIL_QUANTITY,0) as int), dLBGeaendert=GETDATE()
FROM [dbo].[tliefartikel] lief
INNER JOIN dbo.tArtikel ta ON lief.tArtikel_kArtikel=ta.kArtikel
 LEFT JOIN OPENROWSET (
        BULK 'D:\Lieferantenbestellung\febi_availability_febi_Full.csv',
        FIRSTROW=2,
        FORMATFILE = 'D:\Lieferantenbestellung\FEBI.fmt' 
       ) febi ON (lief.cLiefArtNr=febi.MATERIAL) --(febi.EAN=ta.cBarcode AND ISNULL(ta.cBarcode,'')<>'' AND ISNULL(febi.EAN,'')<>'') OR (ta.cHAN=febi.MATERIAL)
  WHERE tLieferant_kLieferant=104 AND cLiefArtNr<>'NICHT MEHR LIEFERBAR'
  AND fLagerbestand<>TRY_CAST(ISNULL(febi.AVAIL_QUANTITY,0) as int);
Ich würde die Erstellung dieser Abfrage sehr detailliert und öffentlich hier erklären, aber nur wenn überhaupt das Interesse besteht.
Sonst wäre der Aufwand für mich einfach zu groß.
Viele Grüße, Ihr MVH-Team
 

ple

Sehr aktives Mitglied
20. August 2019
771
150
Das würde mich auch interessieren. Die Ameise ist beim quicksync nicht die schnellste ;-(
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Monatsabschlüsse als csv-Datei erstellen lassen? Allgemeine Fragen zu JTL-POS 0
Neu Plugin-Idee: Überkäufe Lieferantenbestände & Lieferzeiten (API/CSV/XML) in Shop & Wawi Plugins für JTL-Shop 2
Neu Falsche URL in Exportformat CSV Schnittstellen Import / Export 4
Neu Mittels Ameise Aufträge aus 2 einzelnen CSV Dateien erstellen Schnittstellen Import / Export 5
Neu Zahlungsimport über CSV ... Ausgangszahlung ? JTL-Wawi - Fehler und Bugs 0
Beantwortet Workflow Datei schreiben Dateiname per Dotliquid Fehler Illegales Zeichen im Pfad. callerMemberName : WriteFile JTL-Workflows - Fehler und Bugs 1
Neu Shop 5.61 - fehlende Sprachvariablen - suche *.slf Datei zum Import Betrieb / Pflege von JTL-Shop 3
eigene mehrere Bankverbindungen - Zugferd Datei anpassen? JTL-Wawi 1.11 2
Fehler Export PDF Datei / Senden per Email JTL-Wawi 1.11 2
Neu Mit Workflow verfügbaren Bestand aller Artikel in Datei schreiben User helfen Usern - Fragen zu JTL-Wawi 8
Neu Bei Klick auf Warenkorb Button nicht direkt Warenkorb Templates für JTL-Shop 1
Neu JTL Coupon - Rabatt direkt am Artikel Allgemeine Fragen zu JTL-Shop 0
Neu KI-WaWi-Workflows: Eigene KI-Endpunkte direkt aus JTL-Workflows ansprechen – ohne Plugin, flexibel und schnell Dienstleistung, Jobs und Ähnliches 3
Neu Kindartikel direkt anzeigen/auswählen wenn nur ein Kind vorhanden ist? User helfen Usern - Fragen zu JTL-Wawi 0
Workflow: Neue Kunden direkt einer Kundengruppe zuordnen JTL-Wawi 1.10 6

Ähnliche Themen