2013-09-25 58 views
6

Sharepoint Listesi verilerini belirli bir sharepoint kullanıcısına göre sql sorgusu kullanarak nasıl getireceğini bilen var mı?Sharepoint List Verileri Nasıl Sorulur?

+0

Bkz sürece liste kimliği GUID

sahip olarak SQL çekmek için hala nispeten kolay mı? SQL Server doğrudan bir SQL sorgusu mu demek istiyorsun ??? Yoksa bir Sharepoint Listesini JavaScript’ten SQL-sözdizimi ile sorgulamak mı istiyorsunuz? Bu son seçenek için (JavaScript ile SQL-sözdizimi), http://aymkdn.github.io/SharepointPlus/symbols/%24SP%28%29.list.html#.get adresine bakın – AymKdn

cevap

4

,'u, SharePoint listesinden veri almak için SQL kullanmıyor olmalısınız. Bunu yapmanın en yaygın yolu, liste öğeleri (örneğin kullanıcı tarafından oluşturulan) http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spquery.aspx için veri almak için CAML (SPQuery) kullanabileceğiniz veya aynı sonuçları http://msdn.microsoft.com/en-us/library/sharepoint/jj164060.aspx almak için SharePoint hizmetlerini gösterebileceğiniz özel çözümdür.

+2

Velin'in cevabını uzatmak için SharePoint'i kara kutu olarak düşünün. Sadece şema çok tuhaf değil (bir ilişkisel veritabanında belge veritabanını yerleştirmek çok doğal veya basit değildir), ancak Microsoft şemanın sabit olmadığını ve sonunda yeni sürümlerle değişebileceğini söylüyor. –

+1

CAML (SPQuery) dışında bir sorgulama dili, farklı veya TOP özellikleri olmayan basit bir seçim ifadesi istemediğiniz sürece oldukça acınacak bir sorundur. – JohnFx

+1

Bunu yapmak zorunda olabileceğiniz ya da soruyu cevaplamadığınız herhangi bir nedenden dolayı gerekli olan birçok senaryo var, SQL deyimini kullanarak SQL Server'da nasıl yapılacağını öğrenmek istiyorum. puan. –

3

Sürece SharePoint 2010 olarak öyle dilde 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

dbo.Lists'e katılmanıza gerek yok. (Ya da sonunda l. * Yapmak istiyorsanız?) – Daniel

+0

Oldukça doğru, bu sorgudaki Listeler tablosuna ihtiyacınız yok, değişiklikleri yaptım –

+0

Veri taşdığında ve sarılmış satırlar ne zaman? – scuba88