Bearbeitet:
Was ist der einfachste Weg, scrape SharePoint-Listendaten in eine separate SQL Server-Tabelle zu extrahieren? Eine Bedingung: Sie befinden sich in einer Arbeitsumgebung, in der Sie den SQL Server hinter dem SharePoint Server nicht steuern. Sie können also nicht einfach die Tabelle UserData em> verwenden.
Gibt es Dienstprogramme, mit denen Sie einen nächtlichen Extrakt planen können?
Plant Microsoft hier eine Verbesserung für "SharePoint 4"?
Update 06.01.2009:
Ссылка
Für Server, auf denen Office nicht installiert ist, benötigen Sie:
Dieser Download
Wie Ryan sagte, würde ich auch vorschlagen, Objektmodell / Webdienste zu verwenden, um Daten in einer separaten SQL-Datenbank zu speichern. Ich denke, dass der beste Ansatz darin besteht, einen Event-Handler zu schreiben, der am wenigsten auslöst und die Daten kopiert, die Benutzer eingefügt / aktualisiert haben.
Schaben? Wie beim Screen Scraping? Sind Sie im Ernst? ;)
2 Optionen
SharePoint-Objektmodell - Ссылка
SharePoint-Webdienste - Ссылка speziell der Listen-Webdienst
Über die Webdienste kommuniziert Excel / Access mit SharePoint, um sie in seine Listen zu integrieren.
Tatsächlich gibt ein bisschen Google foo diese zwei Ergebnisse: -
Verbinden SQL Reporting Services für eine SharePoint-Liste
Zugreifen auf SharePoint-Listenelemente mit SQL Server 2005 Reporting Services
Es ist ein ADO.NET Adapter für MOSS 2007/2010 und WSS 3.0 / 4.0 verfügbar, der unter dem Namen Camelot .NET Connector für Microsoft SharePoint läuft. Sie können Listen in SharePoint über die Standardsprache SQL abfragen, wobei SharePoint als Datenschicht verwendet wird.
Neben dem Connector wird es eine große Anzahl von Open-Source-Tools und Dienstprogrammen geben, wie zum Beispiel Webparts zum Exportieren von Daten in verschiedene Formate (XML, MySQL, ..), Joomla-Plugins, Synchronisierungsdienste, etc.
Weitere Informationen finden Sie unter Ссылка und um Webcasts anzusehen. BendSoft sucht derzeit nach Beta-Testern und fördert alle Rückmeldungen aus der Community.
Beispiel:
SELECT * FROM My Custom SharePoint List
INSERT INTO Kalender (EventDate, EndDate, Titel, Ort) VALUES ('2010-11-04 08:00:00', '2010-11-04 10:00:00', 'Vormittagstreffen mit Leia', 'Starbucks')
LÖSCHEN VON Corp Images
WHERE Image Name
= 'marketing.jpg'
In Bezug auf Ihre Frage zu "SharePoint 4" wurde Bill Gates gemacht einige Anmerkungen auf der SharePoint Conference 2008. Er schlägt vor, SQL-Tabellen mit SharePoint-Daten anzureichern und fährt fort, einige andere potenziell coole Dinge zu erwähnen. Was genau er meint und ob es helfen wird, Ihr Problem in der Zukunft zu lösen, ist schwer zu sagen, bis wir anfangen, Betas von WSS4 / MOSS 14 zu sehen.
Ich würde mit der Simego-Software gehen, aber ich habe das Geld nicht, vielleicht reicht ein 15-Tage-Test!
Wenn Sie MOSS installiert haben, kann der Geschäftsdatenkatalog über die SharePoint-Zentraladministration eingerichtet werden, um die Daten automatisch für Sie zu synchronisieren. Dies ist ein sehr leistungsfähiges Produkt und ist in MOSS enthalten. Ich liebe es, wenn ein Client es aktiviert hat, damit ich es nutzen kann.
Aber einige nicht und für mich selbst habe ich festgestellt, dass, wenn sie BDC nicht laufen und verfügbar, sie nicht zwangsläufig Entwickler viele Rechte für SQL Server geben, so dass SSIS ist in der Regel nicht in Frage (aber vielleicht ist das nur ich). Kein Problem; Für diese werde ich eine leichtgewichtige EXE erstellen, die auf einer geplanten Task ausgeführt wird, die Lists.asmx abfragt und Änderungen an eine SQL Server-Tabelle überträgt. Ziemlich triviales Zeug für eine einfache Liste, in der nichts gelöscht wird. Holen Sie sich Visual Studio 2008, CAML Builder, und bereiten Sie sich auf eine gute Zeit vor. Die Listen.asmx-Ergebnisse sind ein wenig komisch, weil die Felder einer Zeile einer Zeile jeweils ein einzelner Knoten mit vielen Attributen sind, ohne Kind-Knoten ... so etwas wie aus dem Kopf ... nur daran erinnern, dass beim Codieren ...
& lt; z: Zeile ows_Id="1" ows_Feld1="A1" ows_Field2="B1" / & gt; & lt; z: Zeile ows_Id="1" ows_Feld1="A2" ows_Feld2="B2" / & gt;
Komplikationen beim Code treten auf, wenn Listen kopiert werden, in denen Elemente gelöscht werden oder wenn eine Eltern / Kind-Beziehung zwischen SP-Listen besteht. Sie würden denken, ich hätte einen Code, der Sie senden könnte, aber ich habe mir nicht die Mühe gemacht, etwas zusammenzustellen, das ich wiederverwenden könnte.
Ich bin mir sicher, dass es andere Möglichkeiten gibt, damit umzugehen, aber die geplante Aufgabe EXE war bisher für mehrere Apps für mehrere Jahre zuverlässig.
Ich habe einen Code geschrieben, um es zu erreichen, Sie können es hier finden
Abhängig von der genauen Art der Daten, die Sie einfügen müssen, ist es möglich, einfach den automatisch generierten RSS-Feed zu verwenden, um die gewünschten Informationen zu erhalten. Ein Prozess muss die RSS lesen und eine Abfrage formulieren. p>
Andernfalls könnte eine Konsolenanwendung / ein Konsolenservice das Objektmodell verwenden, um dasselbe zu tun, aber mit mehr Kontrolle über Feldinformationen.
Tags und Links sharepoint etl sharepoint-api