SSIS/SSDT plugin for Visual Studio 2017 - SharePoint Adapters - sql-server

I have installed Sql Server Data Tools for Visual Studio 2017 and noticed that there are no SharePoint connections in the SSIS toolbox. I know I can read from a SharePoint list using the ADO connecter and save it off somewhere, but what I'm looking for is reading a file in, a csv file, and then being able to write that information into a SharePoint list. This is a work machine and so I can't use the CodePlex archive options or the Kingswaysoft adapters. I was wondering is the SharePoint adapters only a third party option or is there an out of the box solution within the SSIS options that I'm missing. I've got Visual Studio 2017 Professional as well as Sql Server Management Studio 2014. The Sql Server Data Tools are for Visual Studio 2017.

Sharepoint Data Flow Components
I don't think there is an official Destination Component for Sharepoint in SSIS. Since you are using SQL Server 2014, you can benefit from ODATA Source component to connect to Sharepoint. These components are found in the SQL Server 2014 feature pack.
Unfortunately, if you need to write to a Sharepoint list, you have to use a third party components such as :
SSIS Data Flow Source & Destination for OData
OData SSIS Components
Using SSIS to Automatically Populate a SharePoint List
COZYROC - SharePoint Destination
SSIS Integration Toolkit for Microsoft SharePoint
Workarounds
You can use a Flat File Destination to Store the result inside a flat file on local folder. Then you can add a Script Task that will be executed after the Data Flow Task. Then write a C# / VB.NET script to upload the file to Sharepoint using Microsoft.Sharepoint.dll assembly. You can refer to the following links for more information:
How to: Upload a File to a SharePoint Site from a Local Folder
Another thing to try, if you are not familiar with Script Task and you have a knowledge in Web Services, try to create a WebService to upload files to SHarepoint List and use a Web Service Task instead of Script Task:
Upload a Document to the SharePoint Document Library using a Webservice
Upload document from Local Machine to SharePoint Library using WebService

Related

Using sharepoint online excel file as a data source in SSIS

The user case is that we have a file in our SharePoint online that I need to load into our on prem SQL server, using SSIS 2019 (64 bit).
This question is about how to use SSIS to copy the file from the online SharePoint Document Library to an on-prem server file location, from the on-prem server I indeed to use SSIS to load the file data required to the on-prem SQL server
I have read a number of question
Opening Excel file stored on SharePoint as data source using ADODB Connection
Import Excel file located in SharePoint Server into SSIS
However, in the main I am struggling to use the "Show in File Explorer" option even when I try to use IE11 Can any one suggest an easier way to convert the web file path to the correctly formatted UNC
I am aware that I could use a Power Automate to move the file to achieve the same thing, but I am finding it strange that SSIS does not do this
Can anyone help please

SQL server connecting to SharePoint server

I wish to connect SQL server 2012 to SharePoint server. This do complete SQL queries..what is the easy way to do so please?
I want to download data from a SharePoint table into SQL server table basically.
I can only find tutorials connecting SharePoint to SQL server. I want the other way around
Happy to do this via SSIS too..
Please help
There are three options to read from Sharepoint table:
(1) Using ODATA Components
You can use ODATA Source component to access to the Sharepoint Lists
Using the SSIS OData Source Connector with SharePoint Online
Using the OData Source in SQL Server Integration Services
Connecting to SharePoint from SSIS using OData Source
(2) Using Sharepoint List adapter
You can simply use the Sharepoint List adapter components which are an open source project created by SQL Server community within a project called MSSQL SSIS Community:
You can check the project page at the following link:
MsSQL SSIS Community
Or you can simply download the assemblies from the link below:
Project Releases
You can read more about this components in the following link:
Extracting and Loading SharePoint Data in SQL Server Integration Services
(3) Using third party components
KingswaySoft SSIS Integration Toolkit for Microsoft SharePoint
AxioWorks SQList
If you have Microsoft Access Database Engine 2010 Redistributable installed, you can use OPENROWSET command in a View.
I have created a View using OPENROWSET command. Below is the syntax I used, you need to replace the text enclosed in <> with your values:
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'WSS;IMEX=1;RetrieveIds=Yes;DATABASE=https://<tenant>.sharepoint.com/sites/<sitename>;LIST=<listID>;', 'select <columns list> from <list name as displayed in SharePoint>')
You will need SharePoint List ID that you can get easily by opening the list in browser and going to Settings, and checking the URL.. it is in format: {247c5fd8-32cd-4536-b1d0-e2e62845f174}. Please check this link.

How to use Sharepoint REST API in SSIS

I am new to Sharepoint Online API and I would like to extract data from a Sharepoint list using a SSIS flow.
I tried to do this using OData Source, using the URL:
http://name.sharepoint.com/sites/l/_vti_bin/ListData.svc
but I am not able to see all the properties of list items.
So now I would like to try using the REST API:
http://name.sharepoint.com/sites/l/_api/web/lists.
but the issue is that this link is not working in SSIS.
Is there any possibility to do this using SSIS objects (not code)?
You can simply use the Sharepoint List adapter components which are an open source project created by SQL Server community within a project called MSSQL SSIS Community:
You can check the project page at the following link:
MsSQL SSIS Community
Or you can simply download the assemblies from the link below:
Project Releases
You can read more about this components in the following link:
Extracting and Loading SharePoint Data in SQL Server Integration Services

OData Destination in SSIS

Integration Services (SSIS) supports reading data from OData sources. However, there is no OData destination component.
I cannot specify the OData webservice with an HTTP connection manager as web service task in SSIS (i.e. it does not support Windows Authentication).
Using Entity Framework/ASP.NET I think I could just write a post-deployment script. But is there a more straightforward way to update OData (if possible in SSIS)?
I don't think there is an ODATA Destination component created by Microsoft. You can find ODATA Source and create an ODATA connections only. (In SQL Server 2014 you have to install it from the feature pack, in 2016+ it is included).
On the other hand, there is some third party components that you can find in Visual Studio Marketplace:
OData SSIS Components
SSIS Data Flow Source & Destination for OData
There was a feature request on Visual Studio website to support ODATA Destination, and it was closed.

VSTO: include database in Excel file or VSTO Add-In

Is it somehow possible to integrate a database in an VSTO project?
Due to the amount of data I have to switch to an proper database. The only issue is that the users got too accustomed on the Excel interface, I'm not that optimistic to make them accept a new interface.
In order avoid to manage two files I would like to have the database included/hidden in a Excel file.
VSTO has custom parts but it only supports XML. If you can store the database as XML, maybe by creating an object model and persisting that, you can use custom parts.
If you need to store a literal database file, you might need to do it somewhere on the filesystem outside a workbook. If you do that, you can access it the same way any other program would.
You can use SQL Server CE in your VSTO Add-In.
If you want to install it with the Add-In, you'll need to include the following dll files to the root directory of your project. This example is for SQL Server CE 3.5.
sqlceca35.dll
sqlcecompact35.dll
sqlceer35EN.dll
sqlceme35.dll
sqlceoledb35.dll
sqlceqp35.dll
sqlcese35.dll
Then update the properties for of the dlls as well as the database file to the following.
References:
MSDN Deploying SQL Server CE with a Clickonce application
Merge Replication with SQL Server Compact 3.5 SP2 and SQL Server 2014 and 2012
Microsoft SQL Server Compact 3.5 Service Pack 2 for Windows Desktop
SQL Server Compact Toolbox for Visual Studio

Resources