We have an application that is inserting data to the SQL Server data base. I have to create a report based on the data from this SQL Server data base.The report should be generated on a demand (by a user click from the application) as a HTML file and saved in a specific folder on a PC.
I think the best way is to use SSRS, but I'm not so familiar with it. I've created a report using Report Builder tool.
How can I create the report on demand each time the user requires it?
You need to have a back-end running on C# to consume SSRS web service. Along with this you will also need to have a .rdl file (template/design) for representing that sql-data.
On click of the button/link you can have a server call to generate that report for you.
Refer : https://learn.microsoft.com/en-us/sql/tutorials/access-report-server-web-service-vb-vcsharp-ssrs-tutorial?view=sql-server-2014
and https://www.codeproject.com/Articles/1110411/How-to-Write-a-Csharp-Wrapper-Class-for-the-SSRS-R
I'm hoping this is possible.
The organization I work for has a Sharepoint site and I am able to Upload Files to pages, however I am not an admin on our Sharepoint. I'm not sure what the version is, I think its older (ie: 2005).
I have some Excel Reports I've built. The data for these reports is pulled from a SQL Server Database which I have full control over. I have setup a Job in SQL Server to run every 12 minutes, this procedure pulls in some data and updates a few tables. These tables are used to feed my Excel Reports.
I have a separate Scheduled task set to open my excel report(s) refresh the data connections and save as a PDF.
I would like to link to these PDF Files via our Sharepoint so that the VIPs can access the reports as they want, but they always see the most up to date report.
I was trying to link to a Shortcut to the PDF Files but SharePoint doesn't seem to like that. How do I make the SharePoint link point to the PDF File that is saved over every 15 minutes?
Thanks in advance,
Any insight is greatly appreciated.
The way I do it (newish version of Sharepoint) is make the save location for the PDF the network location where Sharepoint keeps the files for that site. Usually you'll have access to those if you can edit the Sharepoint site.
Here is a tutorial to find that network location.
EDIT: It very well may be disabled by the admin at the moment. But it looks like the functionality is there.
Given the age of your SharePoint (either 03 or 07), most of the modern tools that you could use to do this don't exist for you (Excel reporting, BI tools, etc). The easiest solution I can think of is to actually modify the other side of the equation. A few options:
Change your report to output two copies of the same file. One entitled (as an example) currentreport.xls and the other report20150626.xls . Put the link to the currentreport.xls in SharePoint.
Build an ASP.net page that runs the SQL query you have built and pull the data through a view. Since this would be pulled on demand, it may be a few more cycles of your SQL code, but indexing, caching and selective data pull can prevent this from being an issue. Put the asp.net code in an iFrame in a SharePoint content editor web part.
Build your report using SSRS and host the output of that in SharePoint using an iFrame.
Run a scheduled job in SQL that copies your current report data to a table and query that table instead of your normal report table. That way you only have one Excel file that points to a specific table so no need to update links. You can always keep copying data to specific files if you need a historical record and can't use the DB to store this data for you (though the amount of space that it would take to do so would be minimal).
I'm creating custom SSRS reports for a client that uses CRM Online. However, I'm not able to deploy reports that have SQL DataSource connections to them. I get the following error:
"Invalid Data Source. This report type is not supported. Microsoft Dynamics CRM Online supports only reports that use Fetch XML data sources."
However, this error is somewhat untrue. Reason: When I download other custom reports from their CRM, the DataSources are all SQL connection strings with T-SQL queries.
So, there MUST be a way to deploy these reports. From within the client's network perhaps? I've not been able to find any details online thus far. Help?
I'm afraid there is no solution. CRM Online will only allow you to upload fetchXml based reports. There is no workaround (that I have heard of at least).
Are you sure that the other reports you downloaded are definitely custom (CRM allows some system reports to be SQL based) or if custom do they actually work (nevermind how they got there in the first place!).
Yes it's possible with couple of work around.
You need to create your data source for SQL and upload it on your CRM server. Do you have SSRS services running on your CRM server ? if yes then there would be 2 data sources available. One for CRM data source (fetch XML) and another for SQL server.if it's not there you need to create it .
Once you have those data source you are good to get your data in your SSRS report. Make sure your data source name should match with your SSRS report data source. (I have on-promise environment for my CRM 2011)
Are there any tools on the market that effectively analyze data in SharePoint lists? I have a client looking to analyze and report on employee performance data stored in SharePoint.
Does SSRS give you anything useful?
Do you just need to report the data, or do you require complicated aggregation?
Nintex reports on SharePoint itself (and is acually quite cheap). The way the question is stated the report might be about employee data in a sharepoint list so SSRS does make more sense.
You can also look at some the BI features that come with MOSS Enterprise such as the KPI web part, scorecards, reports, Excel services and dashboards.
In addition to SSRS you should also consider using either Excel or Access to run reports :-
Analysing SharePoint Data in Excel
(Look for the section titled SharePoint-to-Excel and Data Synchronization)
How to Link SharePoint Server 2007 Lists with Microsoft Access 2007
Page currently borked, cached version http://209.85.229.132/search?q=cache:YnuTwWha77UJ:sharepoint.microsoft.com/blogs/GetThePoint/Lists/Posts/Post.aspx%3FID%3D68+connecting+access+to+sharepoint+lists&cd=5&hl=en&ct=clnk
Remember that you can also access the list data as XML so any 3rd party BI/reporting tool that can call one of SharePoints web services and manipulate the resulting XML could also be used - there are must be hundreds of contenders here.
The best tool to use depends upon many factors such as what you may be familiar with, the complexity of analysis you need, if you need static or dynamic reports (drill down etc). BI & Reporting tools are a huge area!
Finally if you need fairly simple PivotTable/crosstab type functionality then this CrossTab web part may be suitable (disclaimer - its sold by my company)
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