Benutzer mit den meisten Antworten
XML aus SQL-Datenbank in einen Ordner Exportieren

Frage
-
Hallo Zusammen,
Ich möchte eine von einem Trigger schon erstellte XML Datei aus der SQL-Datenbank auf den Lokalen Rechner (Ordner) exportieren.
Diese Tabelle hat neben der XML-Spalte noch 4 weitere Spalten + ID.
Der Export soll immer angestoßen werden wenn eine neue XML in diese Tabelle erscheint.
Mit was und wie kann ich sowas lösen?
Dankeschön
Antworten
-
Hi,
was dir helfen könnte, wäre SqlDependency. Schau dir dazu mal den folgenden Artikel an:
SQL Dependency using Entity Framework
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport- Bearbeitet Stefan FalzModerator Freitag, 8. März 2019 14:24
- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Montag, 11. März 2019 12:11
- Als Antwort markiert Ivandrago1988 Mittwoch, 13. März 2019 07:46
Alle Antworten
-
Hi,
was bedeutet "lokaler Rechner"? Ist damit der Rechner gemeint, von dem aus der Datensatz im SQL Server gerade erzeugt wurde? Falls ja: Welche Art von Anwendung ist das? WinForms? WPF? ASP.NET? ...?
Was hindert dich daran, aus deiner Anwendung heraus nach der Neuanlage des Datensatzes und Durchlaufen des Triggers den Inhalt der XML Spalte auf dem normalen Weg auszulesen (je nach Anwendungsart und Datenbankzugriffstechnologie ist das aber sehr unterschiedlich) und dann bspw. per File.WriteAllText( "Pfad", "Inhalt" ) in das lokale Dateisystem zu schreiben?
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport -
Hallo Stefan,
Sorry für meine ungenaue Fragestellung.
Ich will es als Dienst starten.
Bis jetzt habe ich folgendes hinbekommen:
static void Main(string[] args) { Data.BabtecXml obj; using (Data.GPE_TESTContext context = new Data.GPE_TESTContext()) { List<Data.BabtecXml> lstBabtecXml = context.BabtecXml.ToList(); obj = lstBabtecXml.SingleOrDefault(x => x.Id == 23 ); XmlDocument Babtec = new XmlDocument(); Babtec.LoadXml(obj.Xml); Babtec.Save(@"C:\DragoXML\" + obj.Name + "_"+ obj.Id +" .xml"); }
Das Programm gibt die XML aus! Alles super! Jetzt muss nur noch der Dienst wissen wenn ein neuer Eintrag in der Datenbank-Tabelle erscheint, muss dieser gleich die XML schnappen und in den Ordner kopieren.
Gibt es für meinen bescheidenen Code eine Lösung?
Danke im Voraus
- Bearbeitet Stefan FalzModerator Freitag, 8. März 2019 07:26 Komische HTML? Tags entfernt
-
Welcher Art ist dein Trigger? Eventuell kann dieser deinen Dienst anstoßen und über neue Einträge informieren, vielleicht sogar den Export selbst vornehmen.
Anhand welcher Kriterien erkennst Du einen neuen Eintrag? Diese Kriterien könnte dein Dienst nutzen um neue Einträge zu erkennen und dann zu Exportieren.
- Gruß Florian
-
Hi,
was dir helfen könnte, wäre SqlDependency. Schau dir dazu mal den folgenden Artikel an:
SQL Dependency using Entity Framework
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport- Bearbeitet Stefan FalzModerator Freitag, 8. März 2019 14:24
- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Montag, 11. März 2019 12:11
- Als Antwort markiert Ivandrago1988 Mittwoch, 13. März 2019 07:46