I'm working on a multi-tenant SPA application that will be hosted in Azure and will store data (via API) in an Azure SQL Database.
I now need to add the equivalent of SSRS but we would like a fully hosted service rather than having to manage servers ourselves. My understanding is that even with SSRS, we would be required to manage a VM and would be responsible for security updates, upgrades, etc. -- something we're trying to avoid.
In my scenario, the users don't need to create reports -- the developer with create the reports. The users only need to be able to run the reports and print/save them as PDF or export them in CSV or Excel format.
Are there any kind of options for this?
Using WebForms you can develop reports locally without SSRS and use the report control to display it and offer PDF and CSV options. The reports are local to your project and have the RDLC extension instead of RDL extension which runs with an SSRS server.
https://marketplace.visualstudio.com/items?itemName=ProBITools.MicrosoftRdlcReportDesignerforVisualStudio-18001
If using MVC, there is no control to use so you have to resort to handling running the report and displaying to the browser which there are many samples out there that should be able to help you get going like:
MVC 5 How to use an object in rdlc report
https://www.youtube.com/watch?v=HBXTUFmQ0UA
Or
Hack in a WebForms page with MVC, something like:
https://www.c-sharpcorner.com/article/rdlc-integration-in-mvc-application-report-display-using-iframe/
OR
ReportViewerForMvc nuget package that promises to do this for you and a sample using it.
Related
I have published the Power BI report from there we need to download the dataset/export it as an Excel sheet.
How can I achieve the same?
and my published we link is here.
enter link description here
You can't export data from report published to web. This is one of the limitations of this feature:
Limitations
Publish to web is supported for the vast majority of data sources and reports in the Power BI service, however, the following are not currently supported or available with Publish to web:
Reports using row level security.
Reports using any Live Connection data source, including Analysis Services Tabular hosted on-premises, Analysis Services Multidimensional, and Azure Analysis Services.
Reports shared to you directly or through an organizational content pack.
Reports in a group in which you are not an edit member.
"R" Visuals are not currently supported in Publish to web reports.
Exporting Data from visuals in a report, which has been published to the web.
ArcGIS Maps for Power BI visuals.
Reports containing report-level DAX measures.
Single sign-on data query models.
Secure confidential or proprietary information.
Shared and certified datasets.
The automatic authentication capability provided with the Embed option doesn't work with the Power BI JavaScript API. For the Power BI JavaScript API, use the user owns data approach to embedding.
You need to enable the visual header and then you should be able use the ellipses to get to the data options.
Also make sure the visual headers are turned on for the target visuals.
You should then see the option to export.
Find more info in the documentation here
I have a database online at Windows Azure. I want to connect to the database and show some tables in Microsoft Silverlight. I have created a Silverlight Application and published the website on Azure here!
How do I connect to my SQL Azure database in Silverlight?
The same way as connecting to any other database!
Personally, I use EntityFramework and create my own service. You can use EF and use RIA Services to create a lot of code for you though if you prefer.
Add an Entity Model to your project, create from existing db, point at your Azure Db, job done. Remember to add your existing IP to the Azure firewall while developing.
EDIT:
Try following this tutorial instead:
http://msdn.microsoft.com/en-us/library/ee707376(v=vs.91).aspx
BUT one thing to watch out for. When you come to the step to add a DomainService, if it hasn't picked up your context you will need to follow the steps listed here:
http://support.microsoft.com/kb/2745294
... which are easy to follow. Delete the TT files and change the model code generation strategy from none to default.
One thing that you can do is create a WCF project, which will act as your Web Role in Azure.
Ideally, you may have 2-3 projects in your solution:
1) Silverlight Project (Presentation Layer)
2) WCF Project (Business Layer)
3) C# Class Project for your Sql Connections (Data Layer)
What you would be able to do is use C# .Net libraries for Sql to connect to your database. You may either execute stored procedures (Can pass in variables), which are cached in memory for faster long-term performance, or Sql queries in a string variable, to pull the exact information you want in custom queries. This would be returned to the WCF Project in which you would be able to perform any custom business-logic and you may begin to package your data into class objects. These objects may be passed back to Silverlight via a Service Reference, and you may use many familiar Silverlight tools to display your information.
The above recommendation may be a more more in-depth than that of the other recommendations, but in cases where you really need control over your data and need to apply business logic, this is a good way.
The easiest way in the world I know of to hook up a SQL Database to a Silverlight application is to use a Visual Studio LightSwitch project. There are ton's of posts on how to do this - http://blogs.msdn.com/b/lightswitch/ . Basically if you make a LightSwitch application (available in VS Professional SKUs and up), it gives you several screen templates to choose from which are all Silverlight (or HTML 5 if you choose). Then you can "attach" to an existing SQL Database such as SQL Azure just fine. And make browse or edit screens around the SQL data.
You can optionally model your own SQL Database and then "publish" it out to SQL Azure.
You can do all of this without writing any code too and provides some good basic functionality.
HTH - Matt
The project I'm on has a single server running both the SQL Server 2008 R2 database and the SSRS Reporting Services. Can I utilize SSRS to host a simple intranet site that would allow users to modify reference table data via a web app that I created?
I know SSRS is no longer tied directly to IIS. Is it possible to use SSRS's hosting facilities or will I be forced to install IIS?
I have read articles on how to utilize report parameters to do simple CRUD operations (http://www.sqlservergeeks.com/articles/sql-server-bi/26/using-sql-server-reporting-services-to-manage-data), but I'd prefer another solution, because at some point the data entry piece will be used to do more than manage lookup table data.
Any suggestions? Thanks!
Can I utilize SSRS to host a simple intranet site that would allow users to modify reference table data via a web app that I created?
Yes you could do that. From the different elements in a SSRS report you can link to web pages, so the report could link to your web app, then have the web app link back to reports.
Also, one report could link to another report, and you could accomplish an intranet with a dashboard page that links off to dozens of other reports.
I know SSRS is no longer tied directly to IIS. Is it possible to use SSRS's hosting facilities or will I be forced to install IIS?
In order to just run reports you would need an install of IIS, but in order to run other web applications, you will need a web server, and IIS will do the job.
As far as the data entry goes, you are probably best off using your web application rather than trying to implement data entry in the report. Technically you can do data entry using parameters on the reports, but it is a very ugly solution.
Still using Sharepoint with SSRS might give you want you want. Another option would be to use OneNote for some of the intranet pages, and put the OneNote files on a shared network location. You will still need your web app to enter data.
I hope this answers you question.
Presently I have a Windows Forms application that obtains data from a SQL Server database on a separate server in our LAN. Basically we want to re-use as much as possible our source code that interacts with the SQL Server database and change the forms portion to a thin client silverlight solution. The problem is that our Windows Forms application is a fat client application; however, our company recently added employees working several thousand miles away, so they have a long delay in working with our application as it retrieves data from the database server which is a long ways away from the employee's client forms application.
The ideal solution for me would allow the developer to display data based on various database tables or views dynamically at runtime say based on what treeview item a user clicks and not having to hard code the database schema at design time. This is the way our windows forms application presently works.
One aspect of silverlight I am wrestling with right now is that if you want to access data from a SQL Server database on the web server side you have to use web services or WCF RIA, which of course involves creating a design time EDMX file or generating LINQ to SQL classes. The problem is that our database schema changes quite frequently, so that means I would have to keep manually re-updating the web services along with the EDMX and/or LINQ to SQL. What I would really like to do would be to just connect to the SQL Server database using ADO.NET to populate the various silverlight datagrids without having to deal with web services. Please note that I am pretty new to Silverlight, so perhaps I am missing something obvious.
Here is one of the many links I have checked as I've been working on this solution; however, this just migrates a Windows Forms application that already has a web service to a silverlight application that has a similar web service, so it doesn't seem to apply to my situation:
http://www.silverlight.net/learn/advanced-techniques/moving-from-windows-forms/migrating-a-windows-forms-application-to-silverlight
Here is another website that I have been looking at closely; however, the database that I am working with is so huge and has such a large schema that whenever I attempt to open or work with the Data->Show Data Sources or Data->Add Data Source window in Visual Studio it takes about an hour of the CPU running at full throttle before it displays the values in visual studio. Of course this makes Visual Studio almost unusable if this hour long wait happens every time I try to make a change in the silverlight XAML designer:
http://msdn.microsoft.com/en-us/gg315272
Also, the website example above is not an acceptable solution because we want the web server and the database server to be two separate machines, so we would not be able to put the database into the App_Data folder in the silverlight solution.
If anyone has any suggestions or guidance in terms of migrating this application, they would be most appreciated. TIA.
Roger
Basically I found out that since I'm used to writing desktop applications that communicate directly with a database (such as SQL Server), I was surprised to find that there is no object in Silverlight to enable you to do (SqlConnection, OdbcConnection, etc.). This is because Silverlight is a client platform, designed to be run from within a browser anywhere in the world, and so it does not make sense for it to be able to access databases directly because databases are generally hidden behind a firewall. The purpose of a service is to provide an interface for exposing data publicly from the server, acting as a conduit between the data in the database and external applications. (source: "Pro Business Applications with Silverlight 5" by Chris Anderson)
Please note that I also had made a mistake when I created a DomainService and assigned to it all the tables, queries, and stored procedures in the entire database, when in fact one needs to create a separate domain service for each individual table or query. This explains why I had the problem before where I had to wait about an hour for the Data Sources window to populate.
I am currently looking into developing and designing the Report service system for work. My user does not seem to have access to Report Builder etc. I have given access to the below roles, but all I can seem to do is view report, create new folders and upload.
Browser
Content Manager
My Reports
Publisher
Report Builder
Does anyone know what I need to do to resolve this?
Thanks
Have you tried following the instructions on MSDN?
(These are the instructions for SQL 2008- I think the process for SQL 2005 is similar but may differ slightly)