Data Factory Help : CSV files in sharepoint - sharepoint

We are currently using PowerBI to connect to CSV files on sharepoint using 'Source = SharePoint.Files('
we now need to bring these files into the datawarehouse but i can't find a file sharepoint connector only a sharepoint list connect.
Is there a way to grab files from sharepoint using data factory, i just need to load them into a Azure SQL database?
thanks

I have not found an easy way for this. The authentification towards Sharepoint is challenging and then the download functionality is als challenging. As Andrii wrote about the use of Logic Apps, we are considering a similar approach as an alternative. Due to lack of time we have not investigated this direction, yet.

Related

Sync between database tables and SharePoint online lists using ODBC. best approach to do so

We have 5 tables inside a database and we want to sync the data inside those tables to SharePoint online lists. All the modifications will still happen on the database tables, so the sync should only sync New/edited/Deleted data from the database to SharePoint and not from the other side.
The database tables can be accessed using ODBC. So what are the approaches we have to do such a sync:-
Using Power Automate Flow which runs on schedule basis?
Write a .net console application which reads the data from the database and update SharePoint using CSOM?
Other approaches
Any advice?
Thanks
I've been working on a PowerAutomate sync between an Excel Table and a bundle of Sharepoint lists, and one component that is proving quite useful for the Excel -> Sharepoint update direction is the "Sharepoint File or Folder Created or Modified" trigger.
If your database platform has the capacity to create small csv or json files corresponding to the changes you want to make, then one option might be to set aside some "new, change, delete" folders accessible to your PowerAutomate profile and to have your system pass in files with the records to be changed. Particularly if your db tables are particularly large, this might be a more efficient solution than periodically scouring the whole table to try to identify those changes proactively.

What is the best way to create azure function that can read excel sheet and convert the data into POCO to push into Azure Table?

I am creating an Azure function that can read an excel file and push the data to an azure table. I have researched and found the following options to proceed with the solution
Use EP Plus Package. There is no native method or functionality in this package to map sheet data to POCO but I have come across a few solutions to custom build one as per the requirements.
Use OLEDB Connection to query the sheet data.
Interop dll. But this is out of the question considering the deployment on cloud since it needs to have MS Office installed on the server.
Which one of the above approach would be more suitable for Azure cloud platform? Please let me know if there is any other way apart from the two mentioned above. Thanks.

Pulling Data from SharePoint Programmatically

I want to pull data from a SharePoint List on a daily basis into a csv file. However, I do not want to use server side PowerShell to acheive this, as I am not a site administrator.
If you have a SQL Server at hand, you could use SSIS it's explicitly designed for this kind of task.
http://dataqueen.unlimitedviz.com/2011/06/how-to-use-a-sharepoint-list-as-a-data-source-in-your-ssis-package/
Then you should use the Client-side object model. There are a lot of samples/examples around SO. So you use CSOM to read the SharePoint lists and use Office interop or XML office language to create Excel files.

Best method for pulling data out of SharePoint to use with a Business Intelligence application

Asked this first on serverfault, and someone recommended that I ask here.
I'm looking for advice from anyone out there who has experience integrating SharePoint with a business intelligence application like Cognos.
Our BI team wants to be able to report on data stored in SharePoint. Their tool of choice is Cognos. What's the best way to get the data they're looking for OUT of SharePoint and into Cognos BI for analysis?
To clarify I'm NOT looking for a way to display Cognos reports in SharePoint. We want to take the list data from SharePoint and use Cognos to report on it.
Since the SharePoint database itself is extremely complex it is not recommended to access it directly. You do however have to alternatives to pulling the data out.
List RSS Feed
The simplest and easiest way would be to enable RSS on the lists you want exported and then pulling the RSS feeds into a seperate database using an external tool.
List WebService
The second option is to use the SharePoint List Web Services. These are standard ASMX webservices that expose the data inside any list to an external source. You can access any list as a Web Service as follows:
[Sharepoint Site Url] + _vti_bin/Lists.asmx.
The details on using the List Web Service is on MSDN here
Diago is right, never touch the DB. In answer to your BI question I recently responded to a similar one here Combining data from Project Server and SharePoint into a single report

Easiest way to extract SharePoint list data to a separate SQL Server table?

Edited:
What is the easiest way to scrape extract SharePoint list data to a separate SQL Server table? One condition: you're in a work environment where you don't control the SQL Server behind the SharePoint Server, so you can't just pull from the UserData table.
Is there there any utilities that you can use to schedule a nightly extract?
Is Microsoft planning any improvement here for "SharePoint 4"?
Update Jan 06, 2009:
http://connectionstrings.com/sharepoint
For servers where office is not installed you will need:
this download
There is a SSIS SharePoint task you can use to grab the data info a regular dataflow:
http://www.codeplex.com/SQLSrvIntegrationSrv
Scraping? As in screen scraping? Are you serious? ;)
2 Options
SharePoint Object Model - http://msdn.microsoft.com/en-us/library/ms441339.aspx
SharePoint Web Services - http://msdn.microsoft.com/en-us/library/ms479390.aspx
specifically the Lists web service
The web services is how Excel/Access communicate with SharePoint to integrate with its lists.
In fact a bit of Google foo gives these two results :-
Connecting SQL Reporting Services to a SharePoint List
Accessing SharePoint List Items with SQL Server 2005 Reporting Services
The 2 minute answer is to use Data Synchronisation Studio from Simego ( http://www.simego.com ) just point it at your List and database and it will sync all the changes.
There is an ADO.NET adapter for MOSS 2007/2010 and WSS 3.0/4.0 available which goes under the name Camelot .NET Connector for Microsoft SharePoint. It enables you to query lists in SharePoint through standard SQL language, using SharePoint as a data layer.
Besides from the connector, there will be a large number of open source tools and utilities available, such as webparts for exporting data to various formats (XML, MySQL, ..), Joomla plugins, synchronization services, etc.
See http://www.bendsoft.com for more details and to watch webcasts. BendSoft is currently looking for beta-testers and encourage all feedback from the community.
Example:
SELECT * FROM My Custom SharePoint List
INSERT INTO Calendar (EventDate,EndDate,Title,Location) VALUES ('2010-11-04 08:00:00','2010-11-04 10:00:00','Morning meeting with Leia','Starbucks')
DELETE FROM Corp Images WHERE Image Name = 'marketing.jpg'
I had written a full article about this with step by step screenshot procedures. It does not use any third party components only SQL BI Tools and Sharepoint. Have a look here
http://macaalay.com/2013/11/01/how-to-archive-sharepoint-list-items-to-sql-server/
As Ryan said I would also suggest using object model / web services to store data to separate SQL database. I think that the best approach is to write an event handler that will trigger on your least and copy the data user inserted/updated.
Regarding your query about "SharePoint 4", Bill Gates made some remarks at SharePoint Conference 2008. He suggests enriching SQL tables with SharePoint data, and goes on to mention several other potentially cool things. What exactly he means and whether it will help solve your problem in the future is hard to say until we start seeing betas of WSS4 / MOSS 14.
I would go with the simego software, but i dont have the money, maybe a 15 days trial is enough!
If you have MOSS installed, the Business Data Catalog can be setup from the Sharepoint Central Administration to automagically synchronize data for you. This is a very powerful product and is included with MOSS. I love it when a client has it enabled so I can take advantage of it.
But some don't and for myself, I've found that if they don't have BDC running and available, inevitably they don't give developers many rights to SQL Server so SSIS is generally out of the question (but maybe that's just me). No problem; for those I'll pull together a lightweight EXE that runs on a scheduled task that queries Lists.asmx and pushes changes to a SQL Server table. Fairly trivial stuff for a simple list where nothing is deleted. Get yourself Visual Studio 2008, CAML Builder, and prepare for a good time. The Lists.asmx results is a little funny in that a list's row's fields are each a single node with a lot of attributes, with no child nodes ... something like this off the top of my head ... just remember that when coding ...
<z:row ows_Id="1" ows_Field1="A1" ows_Field2="B1"/>
<z:row ows_Id="1" ows_Field1="A2" ows_Field2="B2"/>
Complications in code occur with copying lists where items are deleted, or where there is a parent/child relationship between SP lists. You'd think I'd have some code to send you, but I haven't bothered putting together something I could reuse.
I'm sure there's other ways of handling it, but the scheduled task EXE so far has been reliable for me for multiple apps for multiple years.
i wrote some code to achieve it, you can find it over here
extract data from moss 2007
Depending on the exact nature of the data you need to insert, it may be possible to just use the auto generated RSS feed to get the information you want, a process will need to read the rss and formulate a query.
Otherwise a consoleapp/service could use the object model to do the same thing, but with more control over field information.
I wish something like this was much easier to do. Something that didn't need SSIS and was boiled down to a console tool that reads a xml config file for source/target/map info.
http://blogs.officezealot.com/mtblog/archive/2008/06/03/importing-list-data-into-sql.aspx

Resources