Sharepoint Listen Import / Export / Update
Da es im FlowHeater noch keinen nativen Sharepoint Adapter gibt, möchten wir Ihnen hier kurz erläutern wie Sie mit Hilfe des FlowHeater OleDB Adapters auf Listen eines Sharepoint Portal Servers zugreifen können. Es werden die 3 Szenarien Import, Export sowie Update von Daten in/aus Sharepoint Listen kurz erläutert.
Grundlage
Um auf Listen eines Sharepoint Portal Servers zugreifen zu können benötigen wir den FlowHeater OleDB Adapter mit folgenden Connectionstring.
Provider=Microsoft.ACE.OLEDB.12.0; WSS; IMEX=2; RetrieveIds=Yes; DATABASE=http://sharepoint.ihre-url.local/; LIST={07D6C21F-0687-4E74-A098-F56EC904A207};
Wichtig sind hier die Parameter DATABASE und LIST. Diese Paramater müssen Sie immer an Ihre Gegebenheiten anpassen. Der Parameter für DATABASE ist noch einfach, hier tragen Sie die ROOT URL Ihres Sharepoint Portal Servers ein. Schwieriger wird es mit der LIST ID/GUID. Wenn Sie keinen Administrator Zugang zum Sharepoint Server haben sind Sie jetzt leider ausgeschieden!
Melden Sie sich mit Administrator Rechten am Sharepoint Portal Server an. Navigieren sie zu der Liste die Sie importieren / exportieren oder aktualisieren möchten. Gehen Sie dann über den Menüpunkt Einstellungen (s. Bild rechts) und anschließend auf Einstellungen für ‚Liste‘. Anschließend finden Sie die LIST ID in der Adresszeile des Internet Explorers.
http://sharepoint.ihre_url.local/ ….List=%7B07D6C21F%2D0687%2D4E74%2DA098%2DF56EC904A207%7D
Ersetzen Sie die Zeichen %7B am Anfang mit { sowie %7D am Ende mit einem } Die dazwischen liegenden vorkommen von %2D müssen Sie noch mit dem Zeichen – (Bindestrich) ersetzen. Diese GUID {07D6C21F-0687-4E74-A098-F56EC904A207} müssen Sie im OleDB Connectionstring bei List eintragen.
Hinweis: Die GUID ist für jede Liste unterschiedlich!
CSV Export von Sharepoint Listen
Dies ist der einfachste Fall. Erstellen Sie eine neue Definition mit einem OleDB Adapter auf der READ sowie dem TextFile Adapter auf der WRITE Seite. Öffnen Sie den Configurators des OleDB Adapters und Tragen den oben erzeugten Connectionstring bei OleDB Datenquelle ein.
Wechseln Sie nun auf den Reiter „Felder / Datentypen“. Hier können Sie leider keine Tabellen auswählen, der OleDB Adapter unterstützt im Zusammenhang mit dem Sharepoint Server das auslesen der Tabellen nicht!
Tragen Sie hier von Hand im SQL Textfeld den SQL Befehl „select * from list“ ein. Egal welche Sharepoint Liste Sie exportieren möchten, der SQL Befehl ist immer der gleiche! Anschließend können Sie über den Button Felder Einlesen die Schemainformationen der Sharepoint Liste auslesen. Der restliche CSV Export ist wie gehabt im FlowHeater.
Sharepoint Listen CSV Datenimport
Hier wird es schon komplizierter! Ähnliches Vorgehen wie beim CSV Export. Neue Definition anlegen, TextFile Adapter auf der READ und OleDB Adapter auf der WRITE Seite auswählen. Den oben beschriebenen Connectionstring im OleDB Adapter bei OleDB Datenquelle eintragen. Wenn Sie jetzt auf den Reiter „Felder / Datentypen“ gehen können Sie im SQL Textfeld nichts eintragen, das Feld auf der WRITE Seite ist Schreibgeschützt. Um hier die Sharepoint Liste bzw. „select * from list“ eintragen zu können müssen Sie den Configurator schließen. Gehen Sie anschließend über die OleDB Adapter Eigenschaften die im Designer rechts unten (für die WRITE Seite) angezeigt werden, siehe Bild rechts. Suchen Sie den Parameter SQL und tragen dafür lediglich den Wert „LIST“ ein, ohne „select * from". Danach öffnen Sie wieder den Configurator des OleDB Adapters gehen auf den Reiter „Felder / Datentypen“ und klicken nun auf den Button „Felder einlesen“ um die Schemainformationen der Sharepoint Liste abzurufen. Jetzt können Sie in diese Sharepoint Liste Daten wie gehabt über den FlowHeater importieren.
Update von Daten in Sharepoint Listen
Jetzt wird´s noch etwas komplizierter. Genau das gleiche Vorgehen wie beim „Sharepoint Listen CSV Datenimport“. Der Haken dabei ist jetzt aber, dass beim Abrufen der Schemainformationen der Sharepoint Liste keine Primary Key Informationen übertragen wurden. Diese Informationen müssen Sie selbst auswählen. Gehen Sie dazu im Configurator auf den Reiter „Felder / Datentypen“. Selektieren Sie das Feld ID und aktivieren Sie die Option Primary Key. Hiermit erzeugt der OleDB Adapter nun SQL Statements für die Sharepoint Liste wie folgt.
Update list set feld1 = ‚neuer Wert 1‘ where id = 1
Update list set feld1 = ‚neuer Wert 2‘ where id = 2
…
Achtung: Wenn Sie hier beim Primary Key versehentlich falsche Felder angeben, können evtl. mehr Werte aktualisiert werden als vorgesehen. Im schlimmsten Fall werden Daten überschrieben. Vorher unbedingt eine Datensicherung durchführen!
Einschränkungen
Der Import/Update von Dokumenten (Datentyp RAW) in Sharepoint Listen ist so über den FlowHeater OleDB Adapter leider nicht möglich.