InfoPath Formulare und die Datenverbindungen auf dem SharePoint Server

Mit können Sie nicht nur einfache Formulare erstellen, sondern auch Verbindungen zu anderen Quellen aufbauen und somit Daten für die Verwendung in Formularen abrufen. Dabei können Sie Webdienste (REST, SOAP) nutzen, Datenbanken oder auch -Dateien auslesen oder sogar einfache -Listen bzw. -Bibliotheken auslesen. Wie richten Sie solch eine Datenverbindung ein?

  1. Öffnen Sie den InfoPath Designer und erstellen oder laden Sie Ihr Formular.
  2. Über die Registerkarte Daten können Sie, per Schaltfläche Felder anzeigen, die Liste der Felder auf dem Arbeitsbereich einblenden und andocken.
  3. Unterhalb der Liste Felder finden Sie, unter Aktionen, den Punkt Datenverbindungen verwalten. Klicken Sie diesen an oder wählen Sie aus dem Menüband, unter Daten, den Punkt Datenverbindungen.
  4. Um eine neue Datenverbindung zu erstellen, klicken Sie auf Hinzufügen. Es gibt übrigens verschiedene Wege für diese Aktion. Dies ist nur einer.
  5. Jetzt können Sie die Art der Verbindung wählen. Den Punkt Nach Verbindungen auf einem Computer mit Microsoft SharePoint Server suchen verwenden Sie, wenn Sie auf dem SharePoint Server vorhandene Datenverbindungen (-Dateien, -Dateien) in Datenverbindungsbibliotheken abgelegt haben und diese aufrufen möchten. Wir möchten an dieser Stelle aber eine völlig neue Verbindung für das Empfangen von Daten erstellen und wählen daher Daten empfangen.
  6. Im nächsten Schritt müssen Sie die Datenquelle definieren. Wo wollen wir die Daten herholen bzw. wo befinden sich die Daten? Hier biete ich nun mal Varianten an, sozusagen für jeden etwas.

    Variante 1 – Datenverbindung zur SQL Datenbank
  7. Wir wollen an dieser Stelle Daten aus einer SQL-Datenbank abrufen und wählen daher diesen Punkt aus. Bei dieser Option gibt zwar den schönen Hinweis, dass nur Microsoft SQL Server genutzt werden kann, jedoch bietet die Auswahl am Ende doch mehr.
    Wählen Sie also Datenbank – dann Datenbank auswählen
    – Klick auf Neue QuelleMicrosoft SQL Serverwählen.
  8. Geben Sie nun den Servernamen (SQL-Datenbankserver) an und wählen Sie, wie die Verbindung erfolgen soll. Denken Sie an die Rechtevergabe auf der Datenbank!
  9. Klicken Sie auf Weiter, wählen Sie aus der Dropdown-Liste die gewünschte Datenbank aus und klicken Sie erneut auf Weiter.
  10. Vergeben Sie nun einen Namen (am besten mit Pfadangabe, damit Sie wissen, wo die Datei liegt) und eine Beschreibung für die Datenverbindungsdatei (ODC-Datei) und klicken Sie danach auf Fertigstellen.
  11. Die SQL-Abfrage können Sie über den Button SQL bearbeiten auch noch anpassen.
  12. Jetzt legen Sie noch fest, ob die Daten auch offline im Formular selbst gespeichert werden.
  13. Ganz am Ende müssen Sie Ihre Datenverbindung noch benennen. Unter diesem Namen finden Sie die erstellte Verbindung innerhalb der Formularerstellung.
  14. Die Verbindung ist nun erstellt und muss nun noch verwendet werden. Dazu verknüpfen wir sie mit einer Dropdown-Liste in unserem Formular. Also Dropdown-Liste einfügen, falls noch nicht vorhanden. Rechtsklick auf dieses Steuerelement und Eigenschaften wählen.
  15. Unter der Registerkarte Daten finden wir die Listenfeldauswahl und wählen dort Auswahl aus einer externen Datenquelle abrufen. Als Datenquelle finden wir nun unsere Verbindung. Die Einträge bzw. welches Feld uns wie in unserer Dropdown-Liste angezeigt werden soll, können wir an dieser Stelle noch festlegen.
  16. Nachdem dies erledigt ist, können wir zum Test die Vorschau (F5) in InfoPath nutzen, um uns das Formular anzusehen und die Verbindung zu testen. Bis hier sollte alles funktionieren!
  17. Die Verbindungsdatei (ODC oder UDCX) können Sie entweder auf dem SharePoint Server in einer Datenverbindungsbibliothek (zentral oder in der Websitesammlung) hochladen und verwalten oder Sie integrieren diese Datei in das Formular.
  18. Ersteres geht folgendermaßen und hat den Sinn, Verbindungen wiederzuverwenden:
    – in InfoPath Registerkarte Daten und dort Datenverbindungen wählen
    – wählen Sie die Datenverbindung für die SQL Server-Verbindung
    – klicken Sie auf den Button In Verbindungsdatei konvertieren
    – auf dem SharePoint Server müssen Sie dazu eine Datenverbindungsbibliothek erstellt haben
    – im Fenster Datenverbindung konvertierengeben Sie die URL zu dieser Bibliothek an– nach dem Klick auf OK liegt die Verbindungsdatei nun auf dem SharePoint
    – zum Abrufen dieser Verbindung klickt man in InfoPath auf den Button Von SharePoint-Server
  19. Sie können die Verbindungsdatei auch in das Formular mit integrieren. Dazu klicken Sie in InfoPath im Reiter Daten den Button Ressourcendateien an und fügen die unter Punkt 10 (siehe oben) erstellte ODC-Verbindungsdatei hinzu.
  20. Weiter geht’s unten mit Punkt 21 – Veröffentlichung auf dem SharePoint Server.

    Variante 2 – XML Dokument
  1. Wir wollen an dieser Stelle Daten aus einem XML-Dokument abrufen und wählen daher diesen Punkt aus.
  2. Dazu benötigen wir nun natürlich noch ein XML-File, was Sie bspw. über Excel erstellen können. Ich habe dazu eine Art Personalliste erstellt und diese unter dem Format XML gespeichert. Falls beim Speichern die XML-Zuordnung bemängelt wird, schauen Sie hier nach, wie Sie ein solches XML-Dokument erstellen können. Sieht in Excel so aus, wobei die Formatierung bei XML natürlich nicht mit gespeichert wird:

    Also, Tabelle erstellen und unter XML speichern. Wir brauchen es jetzt! 😉
  3. Im nächsten Fenster des DatenverbindungsAssistenten wählen Sie nun Ihr XML-Dokument aus und klicken danach auf den Button Weiter.
  4. Jetzt bekommen Sie den Hinweis, dass Sie die Daten vom XML-Dokument nur in das Formular integrieren können, da sie nicht auf einem Webserver liegen. Hätten Sie das XML-Dokument auf dem SharePoint abgelegt, könnte Sie wählen, ob es eingebunden oder ob auf den Speicherort zugegriffen werden soll.
  5. Klicken Sie wieder auf den Button Weiter.
  6. Vergeben Sie einen Namen für die Datenverbindung. Unterdiesem Namen wird diese Verbindung später angezeigt.
  7. Klicken Sie wieder auf Weiterund dann sehen Sie die erstellte Datenverbindung nun in der Liste der Verbindungen.
  8. Die Verbindung ist nun erstellt und kann verwendet werden. Dabei wählen Sie aus Ihrem Formular eine Dropdown-Liste aus und dort per Rechtsklick die Eigenschaften.
  9. Wählen Sie hier die Registerkarte Daten und nutzen Sie im Bereich Listenfeldauswahl den Punkt Auswahl aus einer externen Datenquelle abrufen.
  10. Aus der Dropdown-Liste Datenquelle wählen Sie die eben erstellte XML-Datenquelle aus.
  11. Bei dem Eingabefeld Einträge wählen Sie – in unserem Fall – per Button XPath die Wurzel Person aus. In diesem Fenster können Sie die Daten außerdem noch filtern.
  12. Als nächstes wählen wir Anzeigename und Wert aus. Dies geschieht auf die gleiche Art und Weise, wobei Sie hier noch unterscheiden können, was angezeigt wird und welcher Wert hinter dem Anzeigenamen sein soll. In unserem Beispiel könnten wir als Anzeigenamen auch Name wählen und als Wert Personalnummer. Damit würde dann bspw. Müllerin der Dropdown-Liste angezeigt und den Wert 1024 haben. Diesen Wert könnten wir nutzen, um weitere Berechnungen durchzuführen oder wir nehmen diesen Wert und tragen ihn einfach in ein Formularfeld ein.
  13. Damit hätten wir die XML-Variante auch kurz erläutert und das Formular kann nun bspw. auf den SharePoint Server geladen werden.
  14. Weiter geht’s unten mit Punkt 21 – Veröffentlichung auf dem SharePoint Server.

    Veröffentlichen der Formulare
  15. Um das Formular nun für den SharePoint Server zu veröffentlichen, wählen Sie in InfoPath die Registerkarte Datei und dort den Punkt Veröffentlichen.
  16. Klicken Sie auf die Schaltfläche SharePoint-Server und geben Sie dann die URL Ihres SharePoint Servers ein – Weiter!
  17. Da das Formular die Verbindung zur SQL-Datenbank enthält und ich die Sicherheitsstufe unter Formularoptionen auf Voll vertrauenswürdig eingestellt habe, muss dieses Formular vom Administrator genehmigt werden. Diese Option ist also mit einem Hinweis schon ausgewählt. Andere Optionen sind aus den eben genannten Gründen auch deaktiviert. Sie müssen nun noch den Speicherort für die Formularvorlage (XSN-Datei) angeben und klicken dann wieder auf Weiter.
  18. Nun legen Sie fest, welche Spalten in der SharePoint-Bibliothek erstellt werden sollen, wenn das Formular genutzt wird. Anders gesagt, wir erstellen durch das Hochladen, Genehmigen und Einbinden in die Bibliothek einen neuen Inhaltstyp, der – wie wir wissen – auch Spalten hat, die wir festlegen können. Wählen Sie hier vielleicht eine Spalte für die Namen, die wir aus der SQL-Dropdown-Liste auswählen und klicken Sie dann auf Weiter und Veröffentlichen.
  19. Die Formularvorlage haben Sie nun als XSN-File abgelegt und nun müssen Sie bzw. der SharePoint Administrator diese Datei hochladen und genehmigen. Dazu wechseln Sie in die Zentraladministration und da in Allgemeine Anwendungseinstellungen.
  20. Wählen Sie unter InfoPath Forms Services den Punkt Formularvorlagen verwalten.
  21. Klicken Sie hier auf Formularvorlage hochladen und wählen Sie Ort und Datei aus.
  22. Nach dem Hochladen öffnen Sie das Kontextmenü der Formularvorlage und wählen Für Websitesammlung aktivieren.
  23. Wählen Sie die entsprechende Websitesammlung aus klicken Sie auf OK.
  24. Jetzt gehen Sie in Ihre Formularbibliothek und dort in die Bibliothekseinstellungen über die BibliothekstoolsBibliothek.
  25. Unter Erweiterte Einstellungen wählen Sie bei Verwaltung von Inhaltstypen zulassen JA aus und schließen die Aktion über den OK-Button ab.
  26. Unter Inhaltstypen klicken Sie nun auf den Link Aus vorhandenen Websiteinhaltstypen hinzufügen.
  27. Aus der Dropdown-Liste wählen Sie Microsoft InfoPath und dann Ihr Formularvorlage per Button hinzufügen. Danach per Button OK bestätigen.
  28. Unter Inhaltstypen sehen Sie nun das eben hochgeladen Formular als neuen Inhaltstyp und das alte Standardformular der Bibliothek, was wir eigentlich nicht mehr brauchen.
  29. Um das Standardformular zu deaktivieren wählen Sie den Link Reihenfolge der neuen Schaltflächen und Standardinhaltstyp ändern. Beim Standardformular deaktivieren Sie die Sichtbarkeit und bestätigen die Aktion per OK.
  30. FERTIG!!!  Testen Sie in der Formularbibliothek, indem Sie per Link Dokument hinzufügen oder aus der Menüleiste unter BibliothekstoolsDokumente die Schaltfläche Neues Dokument wählen. Auf die hier beschrieben Weise können Sie auch mehrere Formular hochladen und jeweils als Inhaltstyp hinzufügen.

 

Fehler und Lösungen:

Warnung

Fehler beim Abfragen einer Datenquelle.
Klicken Sie auf OK, um das Ausfüllen des Formulars fortzusetzen. Überprüfen Sie die Formulardaten ggf. auf Fehler.

Fehlerdetails

Eine Datenbank, die Daten enthält, die erforderlich sind, damit dieses Formular ordnungsgemäß funktioniert, wurde nicht gefunden.
Dem Windows-Ereignisprotokoll des Servers wurde ein Eintrag hinzugefügt
Protokoll-ID:5566

Lösung

Kontrollieren Sie die Berechtigung auf der Datenbank, von wo aus Sie die Daten für das Formular laden. Der aktuelle SharePoint-Benutzer hat hier wahrscheinlich noch keine Berechtigung auf diese Datenbank zuzugreifen.

Ein Gedanke zu „InfoPath Formulare und die Datenverbindungen auf dem SharePoint Server

  1. Sehr geehrte Damen und Herren,

    ich habe das Formular wie in ihrer Beschreibung eingerichtet, jedoch kommt bei mir folgende Fehlermeldung im Sharepoint beim Aufruf des Formulars:

    Fehler beim Abfragen einer Datenquelle.
    Klicken Sie auf OK, um das Ausfüllen des Formulars fortzusetzen. Überprüfen Sie die Formulardaten ggf. auf Fehler.

    Fehlerdetails ausblenden
    Sie sind nicht berechtigt, auf eine Datenbank zuzugreifen, die Daten enthält, die erforderlich sind, damit dieses Formular ordnungsgemäß funktioniert.

    Dem Windows-Ereignisprotokoll des Servers wurde ein Eintrag hinzugefügt.
    Protokoll-ID:5566

    Korrelations-ID:566f4b0a-5649-4820-9051-3c079574ef02

    Welche Rechte müssen auf der Datenbank gesetzt sein, damit dieser Fehler nicht mehr kommt?

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.