none
MS SQL - Daten > XML Datei schreiben <> C# oder SQL RRS feed

  • Frage

  • Hallo,

    ich muss aus einer Sicht - SQL die aktuellen Datensätze in eine XML (oder ähnliches) Datei schreiben. Diese Date beinhaltet Daten für ein anderes System. Ist so in der Art eine Schnittstelle zwischen 2 ERP- Systemen.

    Meine Frage: wie ist es am klügsten das zu machen? über ein c# Programm, direkt aus ms sql eine xml schreiben falls das geht?

    Bitte um Eure Meinungen/Ideen.

    Vielen Dank.

    Daniel

    Montag, 6. Oktober 2014 07:26

Antworten

  • Hallo Daniel,

    es geht grundsätzlich beides und hier führen viele Wege ans Ziel. Was die am besten geeignete ist hängt von deiner Application ab.

    Hier ist erklärt wie es direkt mit dem SQL Server gehen könnte.

    http://www.codeproject.com/Tips/239156/Export-data-from-SQL-Server-as-XML

    Ich würde es in C# programmieren. Hier mal 2 Ansätze. (ich hätte noch einen 3. aber kein Beispiel dazu, aber ich bin sicher das sowas auch mit LINQ geht)

    1. Manuell die Daten über Select holen in eine DataTable oder einen RataReader. Diese durchlaufen und mittels     XMLWriter in dein XML File schreiben. Hier ein Beispiel: http://www.dotnetperls.com/xmlwriter

    2. Und das ist recht einfach. Du erzeugst ein neues DataSet in C#, befüllst das DataSet mittels DataAdapter und deinem Select (welches alle Felder enthält für die Schnittstelle) mit ein oder mehreren Tabellen. Das DataSet hat eine Function WriteXml. Damit kannst du im Handumdrehen ein XML File erzeugen. Der Vorteil ist auch das du die DataTable(s) im DataSet nach den Wünschen der Schnittstelle anpassen kannst und ggf. noch Konvertierungen vornehmen kannst.

    Gruß


    Jens Gerber

    Montag, 6. Oktober 2014 18:01

Alle Antworten

  • Hallo Daniel,

    es geht grundsätzlich beides und hier führen viele Wege ans Ziel. Was die am besten geeignete ist hängt von deiner Application ab.

    Hier ist erklärt wie es direkt mit dem SQL Server gehen könnte.

    http://www.codeproject.com/Tips/239156/Export-data-from-SQL-Server-as-XML

    Ich würde es in C# programmieren. Hier mal 2 Ansätze. (ich hätte noch einen 3. aber kein Beispiel dazu, aber ich bin sicher das sowas auch mit LINQ geht)

    1. Manuell die Daten über Select holen in eine DataTable oder einen RataReader. Diese durchlaufen und mittels     XMLWriter in dein XML File schreiben. Hier ein Beispiel: http://www.dotnetperls.com/xmlwriter

    2. Und das ist recht einfach. Du erzeugst ein neues DataSet in C#, befüllst das DataSet mittels DataAdapter und deinem Select (welches alle Felder enthält für die Schnittstelle) mit ein oder mehreren Tabellen. Das DataSet hat eine Function WriteXml. Damit kannst du im Handumdrehen ein XML File erzeugen. Der Vorteil ist auch das du die DataTable(s) im DataSet nach den Wünschen der Schnittstelle anpassen kannst und ggf. noch Konvertierungen vornehmen kannst.

    Gruß


    Jens Gerber

    Montag, 6. Oktober 2014 18:01
  • Hallo Jens,

    Perfekt danke für Info, ich denke auch das ich es im Studio/C# machen werde.

    Danke.

    MfG Daniel


    Dienstag, 7. Oktober 2014 07:59