Beantwortet csv Export - Herangehensweise?

hvbpb

Mitglied
9. Dezember 2020
29
2
Hallo,

ich möchte gerne in regelmäßigen Abständen (bspw. 5 minuten) eine CSV Bestandsdatei (Aufbau also in etwa : EAN; Bestand;Lagerort;Preis) auf einem entfernten Server (Http PUT + Api Key) ablegen. Wie mache ich das am besten? Ich bin doch bestimmt nicht die Erste, die dieses Problem hat - sondern nur die erste, die in der Suche nicht das richtige Ergebnis gefunden hat. Oder?

Edit: Nach dem ich mit der Ameise auf keinen grünen Ast gekommen bin, habe ich mir ein SQL gebastelt, dass die erforderlichen Daten aus der Datenbank zusammensucht. Dieses wird nun per PowerShell in eine csv Datei exportiert und gegen den Webservice geschmissen. Mit der Aufgabenplanung werde ich das Script dann alle 5 Minuten aufrufen lassen und einmal in der Nacht kommt ein Aufräum-Job vorbei und vernichtet die alten Dateien.

henrike
 
Zuletzt bearbeitet:

blablabundblupppp

Aktives Mitglied
31. Oktober 2019
13
3
Hallo Henrike,


vielen Dank für deine Antwort.

Ich benötige es für einen Export der Kundendaten inkl. BESTIMMTER eigener Felder. Auch als CSV für einen Upload -> FTP zu Weiterverarbeitung.

Die Ameise bringt mich hier nicht wirklich weiter. Ich habe noch nie einen SQL Server ausgelesen. Wie macht man das genau? Auch mit Powershell?


Vielen Dank
 

KBHandel

Aktives Mitglied
28. April 2021
81
13
Hallo Henrike,
ich bräuchte auch diesen Vorgang und schließe mich mal an.
Wir müssen künftig auch für ein externes Tool (über FTP oder Dropbox) alle 4-5 Minuten eine CSV zur Verfügung stellen, gefüttert mit Daten aus JTL.
Könnte das gehen mit deiner Lösung?
Gruß
Oliver
 

ple

Sehr aktives Mitglied
20. August 2019
444
58
Also mich würde die batch / powershell mal interessieren auch bzgl. Upload auf dem FTP.
Für den Code wäre ich sehr dankbar.

Gruß
 

hvbpb

Mitglied
9. Dezember 2020
29
2
Was ich oben beschrieben habe läuft gegen einen Webservice (den von zalando connected retail btw) . ftp geht aber auch. Mein SQL sitzt in der Datei zcr_query.sql

Code:
$time = Get-Date -Format ddMMyyyyHHmmss
Invoke-Sqlcmd -ServerInstance xxx\yyy -Username xx -Password xx -InputFile "C:\Users\Public\Documents\zcr_query.sql" |
Export-Csv -NoTypeInformation -Path "C:\Users\Public\Documents\transfer\zcr_$time.csv" -Encoding UTF8 -Delimiter ";"
((Get-Content -path "C:\Users\Public\Documents\transfer\zcr_$time.csv" -Raw) -Replace ',','.') | Set-Content -Path "C:\Users\Public\Documents\transfer\zcr_$time.csv"
Invoke-WebRequest -UseBasicParsing -Uri https://merchants-connector-importer.zalandoapis.com/apikey/zcr_$time.csv -Headers @{ "x-api-key" = "apikey"} -Method PUT -ContentType "text/csv" -InFile "C:\Users\Public\Documents\transfer\zcr_$time.csv"


und ftp (mein eigener), hier Avocadostore, selbes Grundprinzip nur die Datenaufbereitung im sql sieht etwas anders aus. Außerdem wir die Datei auf dem ftp immer wieder überschrieben. Aber auch hier halte ich mir ein Backup vor, dass des Nächtens vernichtet wird.

Code:
$time = Get-Date -Format ddMMyyyyHHmmss
Invoke-Sqlcmd -ServerInstance xx\yy -Username xx -Password xx -InputFile "C:\Users\Public\Documents\avocado_query.sql" |
Export-Csv -NoTypeInformation -Path "C:\Users\Public\Documents\transfer\avocado.csv" -Encoding UTF8 -Delimiter ";"
copy-item "C:\Users\Public\Documents\transfer\avocado.csv"-destination "C:\Users\Public\Documents\transfer\avocado_$time.csv"
# Config
$Username = "user"
$Password = "pw"
$LocalFile = "C:\Users\Public\Documents\transfer\avocado.csv"
$RemoteFile = "ftp://blablabla.bla/avocado.csv"
 
# Create FTP Rquest Object
$FTPRequest = [System.Net.FtpWebRequest]::Create("$RemoteFile")
$FTPRequest = [System.Net.FtpWebRequest]$FTPRequest
$FTPRequest.Method = [System.Net.WebRequestMethods+Ftp]::UploadFile
$FTPRequest.Credentials = new-object System.Net.NetworkCredential($Username, $Password)
$FTPRequest.UseBinary = $true
$FTPRequest.UsePassive = $true
# Read the File for Upload
$FileContent = gc -en byte $LocalFile
$FTPRequest.ContentLength = $FileContent.Length
# Get Stream Request by bytes
$Run = $FTPRequest.GetRequestStream()
$Run.Write($FileContent, 0, $FileContent.Length)
# Cleanup
$Run.Close()
$Run.Dispose()
 
  • Gefällt mir
Reaktionen: ple
Ähnliche Themen
Titel Forum Antworten Datum
Neu CSV Auftrag mit Artikeldaten (GTIN, Beschreibung, etc.) exportieren Arbeitsabläufe in JTL-Wawi 1
Neu JTL 1.8.12.0 - Artikelattribut für Shop importieren - Format CSV-Datei / Hilfe bei Import von individuellen Attributen für JTL-Shop (googlekat) JTL-Ameise - Ideen, Lob und Kritik 1
Neu Dot Liquid csv-Ausgabe: Abschneiden / Turncate Gelöste Themen in diesem Bereich 4
Neu Eigene Felder (Kunde) in csv-Datei per Ausgabe (Auftrag oder Lieferschein) Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
In Bearbeitung Artikel über csv-Datei bearbeiten und importieren Allgemeine Fragen zu JTL-POS 3
Neu Lieferantenbestellung als CSV mit selbst festgelegten Spalten per Mail senden Arbeitsabläufe in JTL-Wawi 1
Neu Automatisierter Import Händler-CSV, Problem mit unterschiedlichen Artikeln bei gleicher EAN Schnittstellen Import / Export 7
Neu Wie kann ich eine Inventurliste als Excel- oder csv-Datei erstellen? Gelöste Themen in diesem Bereich 3
Neu CSV-Datei direkt in einer SQL-Abfrage verwenden User helfen Usern - Fragen zu JTL-Wawi 3
Beantwortet Abbild der Workflows als CSV JTL-Workflows - Ideen, Lob und Kritik 1
Neu Artikelvariationen korrekt als Auftrags-csv exportieren User helfen Usern - Fragen zu JTL-Wawi 0
Exportvorlage - Rechnungskorrektur als CSV gesucht JTL-Wawi 1.8 3
Positionen alle auf einmal z.B über csv in einen bestehenden Auftrag einfügen JTL-Wawi 1.8 2
Neu JTL Ameise Extrem Langsam im Export JTL-Ameise - Fehler und Bugs 8
Neu Egener Export für CBAM-Bericht möglich? JTL Ameise - Eigene Exporte 0
Export von Bestellungen als Excel JTL-Wawi 1.6 1
Neu Ameise Export Header JTL-Ameise - Fehler und Bugs 2
Neu Ameise eigener export User helfen Usern 8
Neu JTL-Ameise Kontaktdaten-Export und in Greyhound importieren plus Zuweisen User helfen Usern 1
Neu Aufträge zusammen fasse, mit getrennter Rechnung wegen JTL2DATEV Export ? User helfen Usern - Fragen zu JTL-Wawi 0
Ameise - Export Zahlungdaten ohne Minuszahlungen ? Version 1.9.1.0 JTL-Wawi 1.8 2
Export der Einstellungen im admin Einrichtung JTL-Shop5 2
Neu DHL Export Schweiz, erhalten Sendungen zurück JTL-ShippingLabels - Ideen, Lob und Kritik 3
Neu Export nach Vorgabe der Artikelnummern JTL Ameise - Eigene Exporte 5
Neu Datev Rechnungsdatenservice 2.0 Export JTL-POS Belege Schnittstellen Import / Export 0
Neu Druckvorlagen gesucht für Handelsrechnung und Zollinhaltserklärung für den Export User helfen Usern - Fragen zu JTL-Wawi 1
Neu Export Rechnungspositionen inkl. Gewinn JTL Ameise - Eigene Exporte 1
In Bearbeitung Datev-Export - Kunden oder Debitorennummer statt Sammelkonto Allgemeine Fragen zu JTL-POS 3
Neu ICS Export für Wareneingänge User helfen Usern - Fragen zu JTL-Wawi 0
Neu Probleme bei Aufgabenplaner (Export-Manger) per Cronjob JTL-Shop - Fehler und Bugs 1
Neu Bitte um Hilfe beim Export/Import von Attributen JTL Ameise - Eigene Exporte 0
Neu Export & Import Lagerplätze JTL Ameise - Eigene Exporte 7
In Bearbeitung Buchungsdaten Export - Dateien fehlerhaft oder leer Allgemeine Fragen zu JTL-POS 1
AMEISE EXPORT DATEV Schnittstelle Fehlerhaft JTL-Wawi 1.8 4

Ähnliche Themen