SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Benötige Tipps für die zusammenarbeit von SharePoint, SQL und InfoPath

Unbeantwortet Dieser Beitrag hat 17 Antworten

Ohne Rang
8 Beiträge
Tyler Durden erstellt 16 Nov. 2011 09:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Guten Morgen liebe Community,

ich bin seit kurzem erst mit dem Thema SharePoint konfrontiert. Musste mich also in das Thema ersteinmal einarbeiten. Ich habe einen SharePoint Server 2010 erfolgreich installiert und soweit ich es sehen kann auch konfiguriert. Nun zu meinem Problem.

Ich habe eine Verbindung zu einer SQL Server 2008 Datenbank hergestellt, über den SharePoint Designer 2010. Wird auch alles korrekt angezeigt. Diese Datenbank enthält diverse Spalten (sagen wir zum Beispiel einfach mal: Name; Vorname; Adresse; PLZ; Ort).

Meine Aufgabe besteht nun darin das ich der Firma Fomulare bereitstelle zum anlegen neuer Mitarbeiter. Dies muss aber über mehrere Abteilungen gehen damit dieser auch angelegt werden kann. Sprich es existieren 3 Formulare die mit Hilfe von InfoPath erstellt worden sind. Was in jedem Formular gleich sein muss ist (hier) Name und Vorname (muss also von dem ersten Formular immer weiter gegeben werden an die anderen Formulare). Jetzt fängt die erste Abteilung an und trägt noch zusätzlich den Ort ein, die nächste Abteilung PLZ und die letzte abteilung noch den Ort. Nun wären alle Formulare korrekt ausgefüllt und sollen in einem letzten Formular dem "Chef" vorgelegt werden,darin sind alle Daten der einzelnen Formulare enthalten. Dieser gibt dann eine Freigabe ("Speicher" - Button), durch welche dann eine synchronisation mit der SQL Server Datenbank von statten geht. Sprich die Daten werden in die Datenbank eingetragen (dies könnte man eventuell auch auf SharePoint ebene machen, ist aber im moment noch nebensächlich :P )

Die Formulare sollen alle über SharePoint abrufbar sein, kann ich die Felder an die anderen Formulare übergeben (denke mal eventuell über Workflows?)? Kann ich so etwas mit InfoPath realisieren? Oder gibt es eventuell andere Programme wo ich dies umsetzen kann? Ich bin auf InfoPath nicht zwingend angewiesen, nur auf SharePoint und SQL. Mir fehlt im moment jeglicher ansatz, wie ich dies korrekt umsetzen kann. Die suche im Internet war bisher leider total erfolgslos.

Ich hoffe ihr könnt mir etwas weiterhelfen, damit ich wenigstens einen Ansatz habe.

Und hoffentlich habe ich mich auch verständlich ausgedrückt, damit Ihr auch mein Prblem versteht ^^ Mach das ab und an alles ein bisschen zu kompliziert :D

Mit freundlichen Grüssen

Sascha

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 16 Nov. 2011 09:43
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Tyler Durden"]Ich habe eine Verbindung zu einer SQL Server 2008 Datenbank hergestellt, über den SharePoint Designer 2010[/quote]

Warum mit SharePoint Designer? Das kann man direkt in InfoPath machen.

Zunächst muß man sagen, daß das ein ziemlich umfangreiches Thema ist, das man nicht "so nebenbei" in einem Forum behandeln kann. Deshalb hier nur die Kurzform:

Mache das alles in einem einzigen InfoPath-Formular und erstelle dort verschiedene Ansichten, die jeweils nur die aktuell wichtigen Felder beinhalten. Der Chef bekommt dann eine Ansicht mit allen Feldern. Welche Ansicht gezogen wird, kann man per Regel z.B. in Abhängigkeit eines Statusfelds festlegen. Der Status wiederrum kann von außen per Workflow gesetzt werden oder auch von den einzelnen Mitarbeitern direkt im Formular.

Im Formular legst Du eine sekundäre Datenquelle an, um die Daten in die Datenbank zu schreiben.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
8 Beiträge
Tyler Durden Als Antwort am 16 Nov. 2011 10:06
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Andi Fandrich"]

Mache das alles in einem einzigen InfoPath-Formular und erstelle dort verschiedene Ansichten, die jeweils nur die aktuell wichtigen Felder beinhalten. Der Chef bekommt dann eine Ansicht mit allen Feldern. Welche Ansicht gezogen wird, kann man per Regel z.B. in Abhängigkeit eines Statusfelds festlegen. Der Status wiederrum kann von außen per Workflow gesetzt werden oder auch von den einzelnen Mitarbeitern direkt im Formular.

Im Formular legst Du eine sekundäre Datenquelle an, um die Daten in die Datenbank zu schreiben.

[/quote]

 

Da hab ich ehrlich gesagt noch gar nie dran gedacht das über diesen weg zu machen. Ist eine super Idee mit der ich es versuchen werde.

Vielen Dank =)

Ohne Rang
8 Beiträge
Tyler Durden Als Antwort am 18 Jan. 2012 10:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Guten Morgen liebe Community,

ich wollte kein neues Thema aufmachen da es noch zu diesem Projekt gehört. Nachdem ich nun eine etwas längere Pause an diesem Projekt hatte, hänge ich nun an einem Problem wo Ihr mir vielleicht weiter helfen könnt.

Um eine kurze Beschreibung zu geben:

Programme: SharePoint Server 2010 Enterprise, SQL Server 2008 R2 und InfoPath 2010

Ich habe mittels InfoPath ein Formular erstellt, welches auf einer Intranet Seite bereitgestellt wurde. Ein Benutzer kann nun das Formular ausfüllen und speichern. Dieses Formular wird in einer Bibliothek Seitens SharePoint gespeichert und zur Einsicht bereitgestellt.

Nun zu meinem Problem, die Daten aus dem Formular benötige ich nun noch in einer Datenbank des SQL Servers. Diese Daten sollten automatisch an die Datenbank übermittelt werden (Aktualisierung?). Nun kann ich nicht direkt die Datenfelder des InfoPath Formulars gleichzeitig an die SharePoint Bibliothek und den SQL Server speichern/senden. Herausgefunden habe ich das es wohl eine Möglichkeit gibt eine Datenverbindungsbibliothek auf dem SharePoint Server einzurichten wo das Formular zusätzlich abgespeichert wird. Und über diese Datenverbindungbibliothek kann man wohl nun mit dem SQL Server zugreifen und die Daten importieren oder eine direkte Verbindung zur Datenbank herstellen. Leider finde ich nicht wie ich dies einstellen kann, umsetzen kann.

Vielleicht kann mir hier jemand weiter helfen, ich komme einfach nicht drauf wie ich dies umsetzen kann. Wäre jedoch auch möglich das ich komplett falsch bin und es eine ganz andere Möglichkeit gibt um die Daten des abgespeicherten Formulars in eine SQL Datenbank zu bekommen.

Bin über jede Hilfe Froh :D und hoffe das ich mein Problem einigemaßen gut beschrieben habe

Mit freundlichen Grüssen

Sascha

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 18 Jan. 2012 10:32
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Auch das geht über eine weitere Datenverbindung in InfoPath. Diese Datenverbindung kann man in einer Datenverbindungsbibliothek speichern (nur die Verbindung, nicht die Daten und nicht das Formular). Beim Speichern des Formulars kann man dann die Daten zusätzlich an diese SQL-Server-Datenverbindung senden.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
8 Beiträge
Tyler Durden Als Antwort am 18 Jan. 2012 11:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

*** Danke schonmal für die schnnelle Antwort, jedoch liegt genau hier mein Problem :P

Ich habe die Datenbank als Datenverbindung in InfoPath angegeben und diese dann in eine Verbindungsdatei konvertiert (.udcx). Diese Datei wird auch in meiner SharePoint Datenverbindungsbibliothek angezeigt, jedoch kann ich die Daten nicht zusätzliche an die Datenverbindung senden. Ich sollte doch nun in InfoPath bei meinem erstellten Speicher Button diese Datenverbindung zum SQL Server als Aktion hinzufügen oder? Aufjedenfall erhält meine Datenbank keine informationen aus dem Formular.

Ich stelle mir das so vor das durch das Konvertieren der Datenverbindung die Verbindung zwischen SQL und InfoPath hergestellt wird. Durch das ausführen dieser Verbindung werden die Daten übermittlet. Ist das so richtig?

Oder geht das nur wenn ich das InfoPath Formular als Datenbank entwickle? Ich habe das Formular als SharePoint Liste hergestellt? Oh mann ich bin am verzweifeln xP

Puh bin ich froh wenn das funktioniert xP dann ist dieses Projekt endlich abgehackt ^^

 P.S: Wie kann ich es denn im InfoPath Formular einstellen das die Daten zusätzlich an die SQL Server Datenverbindung gesendet werden? Da bei der Verbindung dran steht das ich nur Empfangen und nicht Senden kann. Somit kann ich diese Datenverbindung nicht auswählen, irgendwo mache ich noch einen Fehler ich werde nur nicht wirklich schlau daraus. Wahrscheinlich stell ich mich gerade auch ziemlich ungeschickt an xP

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 18 Jan. 2012 11:25
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Als Aktionen auf dem Speichern-Button brauchst Du folgendes:
- die Daten aus der primären Datenquelle, d.h. aus dem Formular, in die sekundäre Datenquelle, also zum SQL kopieren.
- Daten senden, um die Daten von der sekundären Datenquelle zum SQL-Server zu übertragen.
- das Formular absenden, um es zu speichern.

 Edit: [quote user="Tyler Durden"]Da bei der Verbindung dran steht das ich nur Empfangen und nicht Senden kann[/quote]

Das muß beim Anlegen der Datenverbindung eingestellt werden und hängt natürlich von der Datenquelle ab. An eine View kann man z.B. keine Daten senden. An eine Tabelle aber schon (wenn sie einen eindeutigen PK hat).

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
8 Beiträge
Tyler Durden Als Antwort am 18 Jan. 2012 13:04
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Andi Fandrich"]

Als Aktionen auf dem Speichern-Button brauchst Du folgendes:
- die Daten aus der primären Datenquelle, d.h. aus dem Formular, in die sekundäre Datenquelle, also zum SQL kopieren.
- Daten senden, um die Daten von der sekundären Datenquelle zum SQL-Server zu übertragen.
- das Formular absenden, um es zu speichern

[/quote]

Okay also ich habe es nun soweit das ich an die Datenverbindung sende (Neue Verbindungen mit Microsoft SharePoint Server  --> Link für Datenverbindungsbibliothek --> udcx Datei auswählen) Hoffe das ist so richtig

Das normale abspeichern in eine SharePoint Bibliothek funktioniert ohne Probleme

Aber wie kann ich denn die Daten aus der primären Datenquelle in die sekundäre kopieren?

Sorry das ich nicht wirklich klar komme und dich ein bisschen stresse

Grüsse

Sascha

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 18 Jan. 2012 13:31
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Tyler Durden"]Aber wie kann ich denn die Daten aus der primären Datenquelle in die sekundäre kopieren?[/quote]

Ich weiß nicht mehr genau, wie die Aktion heißt, aber ungefähr "Datenquelle aktualisieren". Dabei gibst Du als Ziel jeweils ein Feld der sekundären Datenquelle und als Ziel eines der primären an.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
8 Beiträge
Tyler Durden Als Antwort am 18 Jan. 2012 15:20
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Jetzt kann ich die Daten der primären Datenquelle in die sekundäre kopieren und nun kann ich die Daten nicht mehr an die Datenverbindungsbibliothek senden... dabei kann man nur noch irre werden.

Ich habe keine Ahnung was ich falsch mache, aber es will einfach nicht klappen. Naja nun lass ich es erstmal bis morgen liegen ich kann es nicht mehr sehen :(. Vielleicht läuft die Sache dann morgen besser wenn ich wieder einen klaren Kopf habe :P.Nur seltsam das es für so etwas keine gute Anleitung im Inet gibt, es wird doch sicherlich noch mehr Leute geben die dies Umgesetzt haben oder noch Umsetzen wollen.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 18 Jan. 2012 16:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du bringst da was durcheinander. Man kann keine Daten an eine Datenverbindungsbibliothek senden. Diese Bibliothek speichert nur die Verbindungsdateien, in denen nur die Informationen stehen, wie eine Verbindung zu einem exterenen System aufgebaut werden kann.

[quote user="Tyler Durden"]Nur seltsam das es für so etwas keine gute Anleitung im Inet gibt, es wird doch sicherlich noch mehr Leute geben die dies Umgesetzt haben oder noch Umsetzen wollen[/quote]

Man kann mit InfoPath dermaßen viel umsetzen, daß es nicht für alles eine detaillierte Anleitung geben kann. Mit der Zeit bekommst Du aber zumindest die richtigen Suchbegriffe heraus und findest dann per Suchmaschine relativ schnell das gewünschte.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
8 Beiträge
Tyler Durden Als Antwort am 19 Jan. 2012 10:57
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

ja das mit den Anleitungen kann ich schon verstehen. Nur mich ärgerts halt grad im moment da ich nicht wirklich was dazu finde. Langsam glaube ich auch das ich das so über das Forum nicht hinbekomme. Ich mach wohl noch irgendwo was grundlegend falsch und finde den fehler einfach nicht. Wobei ich ihn schon eingrenzen kann auf die Sektion Infopath --> Datenverbindung --> SQL. In diesem Bereich habe ich noch einen Fehler drin.

Ich meine an der Art des Formulars kann es ja nicht liegen vermute ich, ansonsten müsste ich dieses eben nocheinmal neu machen. Aber so wie es aussieht muss ich mich wohl nach einer alternative umschauen wie ich dies bewerkstelligen kann. Wobei ich dafür die Zeit nicht habe xP. Naja ich werde mich mal weiter umschauen vielleicht finde ich den Fehler noch, oder eine detallierte Anleitung.

Auf jedenfall möchte ich mich ganz arg bei dir bedanken Andi :D du hast mir auf jedenfall schonmal sehr weiter geholfen und falls ich es noch hinbekomme werde ich mich hier nocheinmal melden und posten woran es gelegen hat.

Grüsse

Sascha 

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 19 Jan. 2012 12:33
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Tyler Durden"]Wobei ich ihn schon eingrenzen kann auf die Sektion Infopath --> Datenverbindung --> SQL[/quote]

Schaue Dir die Verbindung in der Datenverbindungsbibliothek an. Wenn Du hier mit SSPI arbeitest, braucht der Benutzer, der die Daten senden möchte, Rechte auf die Datenbank. Außerdem funktioniert es nur mit Kerberos (Double Hop Problem). Man kann aber in der Verbindung einen festen Benutzer eintragen, der entsprechende Rechte auf der DB hat, aber dazu muß wiederum der SQL Server entsprechend konfiguriert sein (Mixed Mode Authentication).

Tut mir leid für Dich, aber man hat da wirklich oft mit ganz anderen Problemen zu kämpfen, wenn man nur mal eben ein Formular bauen möchte...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
39 Beiträge
Lechiffre Als Antwort am 12 März 2012 16:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hast du es jetzt hinbekommen bei dir habe das gleich problem bei mir. Der workflow von deinen Projekt scheint gleich zu sein. Wäre nett wenn du posten könntest wie du das gemacht hast. lg

Ohne Rang
8 Beiträge
Tyler Durden Als Antwort am 14 März 2012 07:14
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Guten Morgen,

also das Problem wurde Tatsächlich behoben. Dafür habe ich mir über den IIS Manager eine neue Webseite erstellt wo ich nun einen Webdienst bereit gestellt habe. Der Webdienst greift auf eine Excel Tabelle zurück damit dieser weiss welche Felder aus dem InfoPath benötigt werden, sprich welche später in die SQL Datenbank geschrieben werden sollen. In InfoPath habe ich dann eine neue Datenverbindung angelegt welche die Daten an den Webdienst sendet. Diese Datenverbindung musste nun noch in eine Verbindungsdatei konvertiert werden und auf dem SharePoint abgespeichert werden. Am Schluss musste nur noch eine Schaltfläche erstellt werden welche zum Absenden bereit gestellt wurde und die Absende Option auf eine Benutzerdefinierte Aktion eingestellt werden. Nun konnte als Regel festgelegt werden das an die Datenverbindung gesendet werden soll, welche auf den Webdienst zugreift.

Zum Webdienst selber kann ich dir leider nicht allzu viel sagen, da ich mir bei diesem habe helfen lassen müssen.

Ich hoffe das ich dir trotzdem ein bisschen weiter helfen konnte und falls du noch Fragen hast versuche ich diese so gut wie möglich zu beantworten :)

MfG Sascha

Ohne Rang
39 Beiträge
Lechiffre Als Antwort am 14 März 2012 11:58
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also mir ist noch nicht ganz klar was für ein webdienst das sein soll?

 

So wie ich dieses Tutorial lese ist es auch ohne webservice möglich?!

 

http://www.bizsupportonline.net/infopath2010/connect-infopath-2010-sql-server-2008-table.htm

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 14 März 2012 13:34
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wenn das Formular im InfoPath-Client ausgefüllt wird, geht es auch ohne Webservice. Browserformulare können das aber nicht.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
39 Beiträge
Lechiffre Als Antwort am 14 März 2012 13:41
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Und genau da lag mein gedankenfehler vielen dank habe das mit der Client sicht hinbekommen ohne probleme!

 

Jetzt werde ich seperat mich mal an nen Webservice setzen hat wer gute und verständliche tutorials gesichtet? wäre dankbar!