Hallo!
auch ich möchte dieses Thema nochmal aufgreifen, weil es mich schon seit zwei Jahren beschäftigt. Ich habe auch anderer Stelle hier im Forum einen Beitrag eröffnet - man möge mir verzeihen
Bisher habe ich tatsächlich alle Bestellungen von Extern per Hand in die
WaWi geklopft. In den letzten Monaten allerdings habe ich immer mehr
die Lust daran verloren und versucht das ganze zu automatisieren.
Konkret geht es um Bestellungen von DaWanda. Hierzu habe ich einen
Connector zur DaWanda API erstellt, welcher mir für jede Bestellung eine *.xml nach Schema ausspuckt.
Manuell lassen sich diese Bestellungen über die WaWi einwandfrei importieren. Ich könnte nun wieder auf ein File switchen und so nur eine Datei mit allen aktuellen Bestellungen
einlesen ABER... ich hätte das dann doch gerne halbwegs autoamtisch damit da nichtsschiefgehen kann. Die einzelnen Bestellungen hole ich fia CMD -ftp vom Webserver ab und gleiche den Datenbestand
mit einer automatisch erstellten Liste ab, sodass ich immer nur aktuelle Bestellungen auf den lokalen Rechner ziehe.
Bis hierher klappt alles wunderbar. Wenn ich nun folgenden Beitrag aufgreife...
Du mußt den Auftrag im XML-Format in das Feld cText der Tabelle tXMLBestellImport schreiben.
Also z.b. so:
-----------------------------SQL -----------------------------------
insert [eazybusiness].[dbo].[tXMLBestellImport]
(cText, nPlattform, nRechnung) values( '
<?xml version="1.0" encoding="iso-8859-1"?>
<tBestellungen>.........................</tBestellungen>
',5,0);
-----------------------------SQL -----------------------------------
In der letzten SQL-Zeile ist 5 für nPlattform (steht für XML-Import, die ganze Liste findest du in der Tabelle tPlattform) und 0 für nRechnung (also keine automatische Rechnung).
In die DB schreiben kannst du das z.b. mit SQLCMD (Tool kommt mit dem SQL Server) aus Windows-CMD, wenn der SQL-Befehl im File "import-xml.sql" gespeichert ist (Parameter -i).
sqlcmd -U sa -P <KENNWORT> -S <SERVERNAME>\JTLWAWI -i import-xml.sql
Mit dieser Lösung lässt sich allerdings immer nur eine einzelne Datei in die Datenbank übertragen. Ich suche eher eine Möglichkeit, um jede Datei im Verzeichnis abzuarbeiten.
Bulk-Import sollte hier eine gute Möglichkeit sein, ich hab es ehrlich gesagt nicht hinbekommen. Gerade im SQL-Bereich ist Hilfestellung sehr mager ( dummerweise bin ich in SQL eine Totalniete! ).
Ist hier vielleicht jemand, der sich mit sowas besser auskennt und nicht nur mir, sondern auch dem restlichen Forum helfen möchte?
Diese Frage gab es schon mehrfach im Forum, nur keine antwort darauf