Sende infopath Formulare per E-Mail (als Anhang) von SQL Server 2005 analysiert werden?

StackOverflow https://stackoverflow.com/questions/838315

  •  10-07-2019
  •  | 
  •  

Frage

Einfach mal auf die Anforderungen eines neuen Projekts, und ich wollte sicher diesen Anwendungsfall machen war Ton:

  • Benutzer füllt in InfoPath (2003) Formular lokal auf seinem PC
  • eine Schaltfläche in dem InfoPath-Formular ‚submit‘ betitelt bringt eine neue Perspektive (2003) E-Mail-Nachricht mit dem InfoPath-Formular beigefügt werden. Benutzer drückt sendet und E-Mail wird an einen Exchange-Postfach gesendet.
  • SQL-Server überprüft preiodically dieses Postfach, keine neue Eingaben mit dem InfoPath-Formular Download beigefügt
  • SQL Server analysiert die Anlage und die Felder in dem InfoPath-Formular.

Ist SQL Server-fähige Mail-Anhänge auf diese Weise zu parsen? Etwaige Einsprüche mit diesem Ansatz?

Die Anziehungs Outlook als Vorlage Technologie besteht darin, dass der Prozess für den Benutzer das gleiche ist, wenn sie offline sind. Outlook wird dann automatisch synchronisiert, wenn sie wieder online sind. Es ist wichtig, dass die Nutzer eine Möglichkeit haben, die Formulare im Offline ‚submit‘ sie, und dann anschließend automatisch mit dem Server, wenn sie als nächstes kommen online.

synchronisiert haben zu füllen

edit: zu klären, ich bin nicht auf der Suche nach einer Möglichkeit, Formulardaten aus dem server-> Client zwischenzuspeichern. Ich suche das ausgefüllte Formular cachen. eine separate Anwendung Aufbau der fertigen Berichte auf dem Client-Cache ist keine Option.

War es hilfreich?

Lösung

Spätere Versionen von SQL Server sind in der Lage .NET-Code läuft in sie, und als solche können Sie möglicherweise ein Postfach von SQL Server abzufragen und ein InfoPath-Formular zu verarbeiten. Allerdings bin ich mir nicht sicher, ob ich es auf diese Weise tun würde.

Es könnte besser sein, einen Windows-Dienst zu prüfen, zu schreiben, die diese Arbeit tut. Der Windows-Dienst starten würde, prüfen Sie den Briefkasten eines „Dienstkonto“, die E-Mails lesen, extrahiert die Anlagen, Verfahren der xml und schließlich schreibt die Daten in SQL. Es könnte auch vermutlich antwortet auf diese E-Mail mit einer Bestätigung oder Fehlern, wenn Geschäftsregeln oder Validierungsfehler aufgetreten ist.

Ich bin mir nicht sicher, ob ich alle der oben genannten Logik in SQL setzen würde - für eine Sache, ich vermute, dass Sie Probleme mit Konten haben würden (mit dem Konto SQL hat unter der Lage ausgeführt sein, um das Exchange-Postfach zuzugreifen -Konto).

die Leistung kann variieren, und Sie sollten diese bestimmen Prototyp, was für Sie am besten funktioniert, aber ich würde versuchen, den Code, um die Anwendungen Exchange als „Arbeitswarteschlange“ getrennt von SQL zu halten und nur den Code setzen das sich mit Schreiben von Daten in Tabellen in SQL.

Andere Tipps

Ich würde nicht den Ansatz verwenden Sie oben beschrieben. Es gibt mehrere Ansätze, die mich für wünschenswerter zu sein als SQL Server mit in einem Exchange-Postfach suchen. Der wichtigste Punkt, die Sie machen und eine wichtige Voraussetzung ist, dass das InfoPath-Formular im Offline-Modus zu arbeiten, erlaubt werden. Ich würde denken, der „Offline-Modus“ und die „Datenübertragung“ Teile Ihres Projektes als zwei unterschiedliche und separate Stücke: 1) Die Form und die Daten sollten auf dem Client gespeichert werden, bis eine Verbindung zum Internet verfügbar ist und 2) sobald die Verbindung die Form und die Daten verfügbar sind, sollte auf den Server übertragen werden.

Sie können Setup Ihres InfoPath Formular abzuschicken direkt mit dem SQL Server und umgeht die Exchange „Mittelsmann“ vollständig. Das Setup in InfoPath, wenn Sie Ihr Formular entwerfen ist ziemlich geradlinig: 1) Sie „Submit Daten“ für die Verbindung aktivieren und 2) konfigurieren Sie die Optionen vor. Dieses Artikel hat die Details darüber, wie das zu tun. Darüber hinaus kann die Verbindung zum SQL Server-Setup für die Offline-Nutzung, da es in diesem

Ich habe ähnliche Projekte gesehen, die auf dem Client auf eine Express-Edition zurückgegriffen, die infopath speichern (oder App-Daten) in Express und verwendet Service Broker zum Zentrum zu liefern, weil der garantierten Lieferung Semantik von SSB vs. Mail. Dies gibt Ihnen ein all SQL-Lösung einfacher zu IT zu verkaufen und Sie müssen nicht Polling auf dem Server. Auch werden Sie nicht mit MIME-Analyse zu tun haben, ist alles geradeaus XML-Verarbeitung. Es ist nicht für schwache Nerven aber, SSB Aufstehen und Laufen eine Herausforderung. Wenn Sie sich entscheiden, mit Postzustellung zu gehen, ein externer Dienst wird wohl einfacher zu erstellen, debuggen und zu beheben. Es gibt einige feinere Punkt Probleme, die Sie für eine Antwort haben sollte: -Wie halten Sie die E-Mail dequeue Operationen und die Tabellenschreiboperationen konsistent? Ihre Komponente muss die Exchange engagieren lesen / löschen und die SQL einfügen in eine verteilte Transaktion. - Ist Ihre Logik bereit, um mit infopath docs aus der Ordnung kommen? Mail-Transport macht absolut keine Garantie über die Reihenfolge der Lieferung, so dass Sie kann ein ‚bestellen löschen‘ doc, bevor die ‚bestellen erstellen‘ doc sehen - Wie wollen Sie fehlende Dokumente erfassen (nicht per Post geliefert)? Werden Sie eine Sendersequenznummer implementieren und TCP neu zu erfinden auf der Mail am Ende? - Ist Ihre Verarbeitung zur parallelen Prozess korrelierter Dokumente erlauben? Wenn Thread 1 Picks doc 1 und Faden 2 Picks up doc 2 von demselben Absender und doc 2 mit doc korreliert sind 1 (dh. Beziehen sich auf gleichen Geschäftsvorfall) auf, was in der Datenbank geschehen schreiben? Wird es eine Sackgasse, wird es ein Update verlieren, wird man zurückgerollt werden?

Es gibt viele Drachen unter der Brücke vor ...

scroll top