2013-07-18 4 views
0

SQL은 현재 SharePoint 쿼리를 지원하지 않지만 해결 방법을 찾은 사람이 있습니까? SQL으로 필요한 작업을 수행 할 수있는 상황에 처해 있었지만 SharePoint로 작업 중이므로 SSRS 쿼리 디자이너 또는 XML을 사용하여 막혔습니다. Query Designer는 필자가 원하는 기능을 항상 갖고 있지는 않으며 (적어도 쉽게는) 필자는 실용적인 옵션으로 XML을 빨리 배울 수 없다.SQL을 사용하여 SharePoint 목록 쿼리

답변

3

실제 환경에서는 하루 하루를하지만 큰 설치 비용이 필요하거나 도구에 대한 액세스 만 필요합니다.

내가하는 방식은 SSIS 작업을 사용하여 SharePoint에서 SQL 테이블로 데이터를 가져 오는 것입니다.이 작업은 SSIS 용 Sharepoint 도구 모음을 다운로드해야합니다.

1 단계 -이 있는지 데이터를 확인하는 것입니다 테이블에 대한 준비/지주 데이터를 만들기는 항상 보고서

2 단계로 사용할 수 있습니다 - A) 준비 테이블 에서 데이터를 가져 에 대한 작업을 쓰기 b) 라이브 테이블의 데이터를 비교하고 라이브 테이블에서 업데이트, 삽입 및 삭제

STEP 3 - 작업이 완전히 작동하면 SQL 스케줄에 따라 1 시간마다 실행되므로 데이터가 최대로 유지됩니다. 날짜 별. 작업이

4 단계가 실패 할 경우는 이메일 경고를하려면이 설정시 전송하는 것이 좋습니다 - 데이터는 SQL에서 다음과 라이브 테이블하지 스테이징 테이블에서 일반 쿼리로 조회 할 수 있습니다

+1

길지만 가장 좋은 방법입니다. 즉, 느리고 응답이없는 웹 서비스 및 CAML을 사용하지 않고 SharePoint에 직접 쿼리 할 수 ​​없습니다. 이렇게하면 셰어 포인트 설치에 영향을 미치지 않고 모든 데이터를 보유하게됩니다. – Malkin

0

SharePoint 2010을 사용하는 경우 here you go

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.Lists l 
    INNER JOIN dbo.UserData ud ON l.tp_ID = ud.tp_ListId 
    WHERE (ud.tp_ListId = '[{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}') 
관련 문제