문제

SharePoint Online에 대한 액세스 서비스에 쿼리를 작성하고 .NET 용 클라이언트 객체 모델을 통해 Access Services에 쿼리를 쓸 수있는 방법이 있습니까?테이블이 목록으로 표면화 된 방식처럼?

배경

SharePoint Online 용 액세스 서비스를 사용하여 표면을 지정하는 액세스 데이터베이스가 있습니다. Access Services에서 다른 시스템으로 피드 할 XML 파일로 데이터를 검색하는 작업을 제공했습니다.

SQL로 작성된 기존 쿼리가 있습니다 (액세스 데이터베이스가 온라인 시간순으로) 매우 복잡하고 CAMLQUERY로 변환하거나 LINQ를 사용하여 쿼리를 만들면 두려워합니다.이 1) SQL에 존재하는 모든 기능이 없으며 2) 그것은 부풀어 오르게 될 것이므로 느리게 실행되기 어렵습니다.

단순화 된 예제 쿼리 :

select * 
from members m, info i 
where m.id = i.memberid
and year(m.date) = 1900 
UNION 
select *
from members m 
where m.id not in (select memberid from info) 
UNION 
select *
from members m, info i 
where m.id = i.memberid
and i.date_to = (select max(date_to) from info where memberid = i.memberid)
Order By m.Name
.

도움이 되었습니까?

해결책

I ended up doing this by using the C# client object model to import all the data from the relevant lists into an in-memory SQLite database, and then running a modified SQL query on the SQLite tables. As there wasn't that much data this was an acceptable method.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top