2013-09-25 16 views
6

Czy ktoś wie, jak pobrać dane listy Sharepoint za pomocą kwerendy sql na podstawie danego użytkownika sharepoint.Jak kwerendy danych listy programu SharePoint?

+0

w jakim języku? Masz na myśli zapytanie SQL bezpośrednio do serwera SQL? A może masz na myśli zapytanie o listę SharePoint za pomocą składni SQL z JavaScript? W tej ostatniej opcji (składnia SQL z JavaScript) spójrz na http://aymkdn.github.io/SharepointPlus/symbols/%24SP%28%29.list.html#.get – AymKdn

Odpowiedz

4

Ty nie można używaćnie powinno być naprawdę korzystania SQL, aby uzyskać dane z listy programu SharePoint. Najczęstszym sposobem na to jest niestandardowe rozwiązanie, w którym można używać CAML (SPQuery) do pobierania danych dla elementów listy (utworzonych przez użytkownika na przykład) http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spquery.aspx lub można ujawnić usługi SharePoint, aby uzyskać takie same wyniki http://msdn.microsoft.com/en-us/library/sharepoint/jj164060.aspx.

+2

Aby rozszerzyć odpowiedź Velina, musisz uważają SharePoint za czarne skrzynki. Nie tylko schemat jest bardzo dziwny (dopasowanie bazy danych dokumentów w relacyjnej bazie danych nie jest bardzo naturalne ani proste), ale Microsoft twierdzi, że schemat nie jest poprawiony i może się zmienić w miarę pojawiania się nowych wersji. –

+1

To świetnie, poza tym, że CAML (SPQuery) jest dość żałosnym pretekstem dla języka zapytań, chyba że potrzebujesz prostej instrukcji wyboru bez agregacji, odrębnych lub TOP funkcji. – JohnFx

+1

Istnieje wiele scenariuszy, w których być może będziesz musiał to zrobić, lub jest to wymagane z jakiegokolwiek powodu, dla którego nie odpowiedziałeś na pytanie, co było, jak to zrobić w SQL Serverze używając instrukcji SQL głosowałem, ale nie mam wystarczająco zwrotnica. –

3

Dopóki jest SharePoint 2010 jest nadal stosunkowo łatwo wyciągnąć z SQL, tak długo, jak masz GUID lista id

Zobacz here

SELECT 
    ud.tp_ID 
    , ud.tp_ListId 
    , ud.tp_Author 
    , ud.nvarchar1 
    , ud.nvarchar2 
    , ud.nvarchar3 
    , ud.nvarchar4 
    , ud.nvarchar5 
    , ud.nvarchar6 
    , ud.nvarchar7 
    , ud.nvarchar8 
    , ud.nvarchar9 
    , ud.nvarchar10 
    , ud.nvarchar11 
    , ud.nvarchar12 
    , ud.* 
    FROM dbo.UserData ud 
    WHERE (ud.tp_ListId = '[{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}') 
+0

Uwaga, nie potrzebujesz dbo.Lists dołączyć tutaj (lub chcesz zrobić l. * Na końcu?) – Daniel

+0

Całkiem poprawnie, nie potrzebujesz tabeli Listy w tym zapytaniu, dokonałem zmian –

+0

Co powiesz na przepełnienie danych i na zawijane wiersze? – scuba88

Powiązane problemy