We have 3 plants all interconnected with high speed WAN. Each plant has it's own SQL server (for it's own applications), but people from all three plants need to run reports on each server. If we host reports locally at each site and point to remote DB's, performance is terrible. IF we logon to SSRS remotely, performance is acceptable as only the screen rendering is across the WAN link, but then employees have to go to three URL's
The most heavily used SSRS server (plant A) has a front-end that is part of 3rd party's product. It has good user access control and lets us control access at the report level. From what I understand, the native SSRS web UI can only control access at the folder level, so we'd end up with huge set of folders to get correct level of access control granularity.
I did think about building my own BI front end. This would present available reports to a user based on a UserID/EmployeeID tuple in a custom table. When the user clicks a report it would simply navigate to the relevant URL (at any site - e.g. http://PlantB.com/reports/report1) (had to put on the .com to satisfy editor.
This did get me thinking: does anyone know of a commercial product that gives a single front end to a farm of SSRS servers. It's nothing to do with load balancing, just a single UI to control access to, and provide a single launchpad for users. So when UserA logs in, they see reports that they are allowed to run. If they are at Plant A and running a report located at plant B, it would simple point to http://PlantB.com/reports/report1
I googled it a bit, but didn't turn up anything
Regards
Mark
I think SharePoint would do the job. You could link to Report Manager reports or folders, add Web Parts to show reports in a SharePoint page, or fully integrate a new SSRS instance with SharePoint.
Related
I hope someone here can help.
I have a requirement from my client who is an ISV. They want to develop a solution whereby they want to offer their customer an ability to create any reports from the customer specific database.
What I mean is, we publish the dataset on a portal the customer can then drag and drop the tables they needed, create the joins to create the required report.
Is it possible to do this in PowerBi or SQL Server Reporting service?
Many Thanks
Service Content Pack
It is possible in Power BI by developing an online service content pack. This allows online services to give their customers insight into their own data via the PowerBI.com cloud service. The ISV pre-builds the data model (and some initial charts); the end user doesn't have to worry about joins at all. They can drag & drop the fields that the ISV makes available.
There are some base requirements (it has to be a SaaS application that has an API accessible via the public internet).
More information: https://powerbi.microsoft.com/en-us/documentation/powerbi-developer-content-pack-overview/
Embedding
If the ISV is building their own portal, they can embed SSRS reports on their own website (and use parameters that pass the customer ID from the website directly to each report). This looks like a good place to start: https://learn.microsoft.com/en-us/sql/reporting-services/application-integration/integrating-reporting-services-into-applications. One downside to this solution is that SSRS doesn't allow the end-user to change the reports themselves (no dragging or dropping fields).
You can also embed Power BI reports onto an externally facing website. More information here: https://powerbi.microsoft.com/en-us/power-bi-embedded/
There may be other solutions, such as tools that allow external access directly into SSAS, but I've limited the scope of my response to the two tools you've asked about (SSRS and Power BI).
In most organizations, are external users (outside the organization) granted access to SSRS reports by going directly to Report Manager with limited permissions to view their reports only, for example, or do organizations more often create a separate dashboard website which pulls in the reports from SSRS?
I'm asking because currently I see a situation where there is a separate .NET site which pulls reports from SSRS, and I'm curious if this is a possibly unnecessary extra layer (the separate website), or do companies often create a separate dashboard site due to limitations(?) of SSRS Report Manager, or for security reasons? For example, could the Reporting Services Report Manager interface be customized to look like an organization's website reporting interface (with their logo, colors, etc), and not the standard out of the box Report Manager?
Do companies often create a separate dashboard site due to limitations(?) of SSRS Report Manager, or for security reasons?
Yes and no; it's going to depend a lot on the needs of the company. If Report Manager isn't doing what you need, then a custom solution is really the only option...
For example, could the Reporting Services Report Manager interface be customized to look like an organization's website reporting interface (with their logo, colors, etc), and not the standard out of the box Report Manager?
To a very limited degree, yes. You can modify the CSS sheets being used by SSRS, and inject some Javascript to apply some style hacks, but what you'll be able to accomplish is still quite limited. See here for getting started: http://msdn.microsoft.com/en-us/library/ms345247.aspx
I have a website online with just HTML and I am not willing to use any other programming language apart from Javascript. All I need to do is connect my Microsoft Access database on my computer to a form hosted online so when information is submitted online it is updated on MS access the next time I open the file up. Is this possible and how can it be done?
Turns out, you can do this with zero code. If you use office 365, and publish an Access web forms.
Any information entered into the Access web form will automatic appear in your local database. The synchronizing of data from the web site and pulling down of the records to a local copy works automatic and without the need to write any code. In fact the sync starts automatic when you launch the client application. (it runs in disconnected mode). And any records you enter in the client application will also sync up and appear on the web site.
So, you can use Access and write zero code, and this two way sync feature is built in.
You need Access 2010, and either SharePoint 2010 (enterprise), or you can use office 365 and the $6 per month p1 plan which also does support Access web publishing.
However, I suspect issues of user logons and security may well be a greater issue here, and thus office 365 might not be correct from a user logon point of view. You can invite up to 50 users to that site for the basic $6 per month, but all users of the site will require a logon (which can be due to being invited to the site).
There are two videos of mine here showing this setup in action here:
http://www.youtube.com/playlist?list=PL27E956A1537FE1C5&feature=plcp
I think what you are trying to do is very impractical. You'll need to use Server Side Javascript to insert your data into a database, preferably SQL Server, and then you'll have to write some kind of code to sync the SQL Server Database to your Access database.
Alternately, you could setup your Access database so it connects to the same instance of SQL Server as your website using ODBC linked tables or ADO. I cannot really recommend this, especially if the data you have in your Access database is anything you wouldn't want to be public. Also, using MS Access to access a database across the WAN/Internet is really not recommended although it can certainly be done, as long as you aren't working with large amounts of data, large quantity of records, etc.
I am not willing to use any other programming language apart from Javascript.
And why aren't you willing to use something else? I don't think you're going to get anywhere if you don't open your mind to using the right tools for the right job.
Here's something that might help you get connected to SQL from Javascript:
How to connect to SQL Server database from JavaScript in the browser?
I've been thinking of the best way to present reports to the end user. We've accumulated several dozen reports. Some are subscription-based and are exported into Excel or emailed out regularly but a large number are run on-demand.
There's the option of sending the users the direct link to the reports. We don't do this because it's not easy to find (they have to dig through emails or bookmark the link)
http://server/ReportServer/Pages/ReportViewer.aspx?myreportrs:Command=Render
We've been embedding reports in sharepoint (or simply adding a link to the report). We're not using Sharepoint Integrated Mode. This has become a little unorganized where we have a large number of links to reports. I'm not sure what other solution exists..
SQL 2008, Sharepoint 2007
Depends on how much maintenance effort and instruction you want to provide. Some likely options include:
Use a SharePoint content page and hardcode a page with links to different reports.
Create a Sharepoint URL list linking to the different reports.
Create an SSRS report that is acts as a central index. This could either be a static page (a report without any data
source, just many static text boxes.) or a dynamic list of reports.
Depending on requirements you could query the SSRS databases and
use that as a central list.
My clients have generally found that a one of these, the Report Manager interface (/reports/), and emailing of specific report urls to be adequate.
Another option I once used: we created a formula (happened to be in Excel) that would create a url with the appropriate custom parameters to return just the data the user was interested in. Passed the parameters to SSRS as part of the URL. (Search on SSRS URL access.)
We're looking for an easy way to display Access reports on the web. These reports have been written and viewed internally for years. They are not simple tables, but more complex charts and graphs. But, now people outside the organization need to see them. All of the data is in access. And, except for reporting everything else is working fine.
We have a web server that has permissions to see the Access database. However, the Access database server cannot be the webserver itself. So, the question is how do we view these reports on the web? This excellent solution, which I reference in case it helps others, (https://web.archive.org/web/20211020135306/https://www.4guysfromrolla.com/webtech/042600-1.shtml) does not apply, as it requires you to be on a company intranet . (Although, it may be possible to implement the solution outside of an intranet, so many security holes would be opened up that the developer leading this project would surely be fired.) If possible, we also do not want a solution that expects every client to install code, for example, the access runtime.
Is there a tool that can read the
access reports when requested? OR
Is there a tool that can upload the
data from the Access database on a
periodic basis and based on the last
retrieved data - it can display the
report that was written in access?
Other solutions ...
Thanks!
print the reports to pdf and then copy the pdf files to the webserver
Options:
output to PDF.
output to Access snapshot format and force users to use the snapshot viewer.
wait for Access 2010 with Sharepoint 2010 and Access Services and you're home free (as long as you can rewrite your reports to be full web reports, i.e., not VBA and only using the capabilities of web reports in A2010).
We deliver an Access app (and reports therefore) over a Terminal Server as a WebApp.