This post will be short, but very helpful for someone who wants to bring data from SharePont online. As you can find in my previous posts, I was building SSIS package to bring Project Online data and everything was just perfect to be real))
I have build the whole package in about two days, together with documenting everything and trying to achieve the best performance, until I have reached the point of implementing Sync with every Project Site (just a SharePoint sub site). I have done it before, and I remember that it was easy, because I used SharePoint List Data Connectors for SSIS from here: https://sqlsrvintegrationsrv.codeplex.com/releases/view/17652
Guys put a lot of effort there, and I used those adapters in couple of my projects. It worked really well with Taxonomy fields and complex lookup fields, what I think makes those connectors the best out there. However, it doesn’t support SharePoint online. I was so disappointed, so I started looking for other projects and I found another implementation, where SP Client Object model was used, but quality of data wasn’t good enough. Another approach was to create a script task and use web client to hit the service, but its like – why you need ssis then?
So, I decided to improve it a little bit to support SharePoint online, however decided to drop connection manager.
I didn’t want to recreate all that logic guys put together, so I just decided to get cookies using SP client side object model, and after set cookies container for all web requests to List.asmx/View.asmx.
The source code together with installers for x86/x64 is below. I have only leave installer for SQL 2012. Will try to bring the adapters for SQL 2014 when I have time.
Installers and Source code here: https://onedrive.live.com/redir?resid=FA1E08D26E8EF6A2!29719&authkey=!AHBpPZYK1EhT1qI&ithint=file%2czip