active reports and ssrs comparison - sql-server

I want to take data from a SQL server ans show it in to the user. I have to update the UI as the user's requirement. what are the advantages and disadvantages of both reporting tool?. Also anyone know about the licensing cost for both?

Alias,
both reporting tools are very similar in terms of features. ActiveReports has royalty free distribution and is licensed per developer. the cost ranges from $799-$1599 per developer.
If you are asking about SSRS server, then it is included as part of the SQL server license, however read the license carefully. You cannot install SSRS on a separate server from SQL Server, it requires IIS, both of these items add pressure on your DB installation, which could be an issue in the future. You would need another SQL server license in order to deploy them separately.
I would suggest that you download and try them and see which one is easier and would fit your needs better and review the licensing based on your requirements.
disclaimer - I work for Grapecity maker of ActiveReports.

Related

Suggestions on including free database products to include in an application - SQL Server Express or other

I am working on an enterprise level product that is designed around SQL Server Express and specifically its features (views, concurrent users, stored procedures, CASE and IF statements).
Though we don't use any advanced SQL Server features, the database size limit of 4GB in the Express edition may up being a limitation. A work-around is that customers can move to more full-featured versions of SQL Server.
The problem is that SQL Server Express deployment is not easy, and the installer size is huge. This is a major drawback for someone looking to try our product. You don't want end-users to not buy a product because the download is huge.
Does anyone have any recommendations of a database that has a smaller footprint but all the features of Express and which can be migrated to express?
Check out SQL Server Compact.
If what you really need is just a relational database, you can probably use SQL Server Compact Edition or SQLite.
It depends what you're looking for when you say "all the features of Express."
Edit after comments and edited question:
It sounds like you need Express, but I hear you about the huge installer size, which will be an issue even if you embed it in your own installer ( http://msdn.microsoft.com/en-us/library/dd981032(SQL.100).aspx).
You could also offer several trial options:
Use an existing SQL instance (small download + instructions to configure DB)
Full, self-contained trial (big download)
Demo trial (small download, single-user database; no server required)
That way companies that have running SQL/Express instances don't have to download the installer again, if they don't want it, and those who just want to see how it looks and feels can get the "demo" trial, and those who simply must have the full-fledged product are going to see and understand that the database server component is what is huge and they'll have to be a little patient for it (or call/E-mail you for a CD copy).
PostgreSQL is one of your options.
Its not smaller, around 35M packe and over 100M unpacked.
But it fits your requirements by the licensing model.
It has all the features.
You can make the deployment easy because you can preconfigure the binaries version you can supply with your own software.
Users will never need to migrate because this is powerful enough (ex. Skype uses it for its backend)
EDIT:
An interesting alternative may be Firebird (free, 7MB)
and maybe some commercial ones like NexusDB
Check this Wikipedia article: Comparison of relational database management systems.
There's more than 50 RDBMS's listed and you'll probably find something that suits your needs.

End User Ad-Hoc Reporting Tool: Microsoft SQL Server Management Studio or Microsoft Access?

Our centralized IT department has suggested two primary ad hoc query tools for our general user base of approximately 200 staff members:
Microsoft SQL Server Management Studio 2008 (SSMS)
Microsoft Access 2003
Environment
The backend database is a read-only Microsoft SQL Server 2005 database.
The schema is 400+ tables; allowing access to the raw data for our general staff would be a disaster.
We will be building an "abstraction layer" over the raw data for our general staff to run ad hoc queries against.
The abstraction layer will most likely contain a number of views.
A number of users have basic knowledge in Microsoft Access; none have used SSMS.
Which of the above tools (or alternative) would be best for a decidedly non-techie user base of approximately 200 people? What are the pros and cons of each?
Also, the IT department has suggested teaching people T-SQL so they may use SSMS. Is this reasonable?
How about this one? i-net Clear Reports (used to be called i-net Crystal-Clear) has a powerful ad-hoc reporting component that is made to be an easy-to-use thing for non-technical users. Your users won't have to know anything about reporting at all. They simply select the kind of report, the data et voila there is a report suiting the needs.
The data abstraction can be done easily by creating so called data-views which can be designed by e.g. your administration. There are various ways to access the ad hoc reporting GUI. We have a web GUI, a Java Applet or a standalone Java program.
The end users will not need any training since the GUI is highly intuitive.
The views can easily be build by drag and drop in addition to setting datatypes, formats and so on.
All reports (depending on security settings) can be accessed via DAV our a report repository gui.
The server supports different security settings on a per user or per group basis.
The standalone report designer is free and fully functional.
Disclosure: Yep. I work for the company who built this.
Your "abstraction layer" is the right approach to take with Access. Create an MDB with the basic views required linked into it and distribute to the users. Allow them to create new queries and reports in their own MDB as required.
Now how you are going to stop them from running a Cartesian join on tables with a million records or more I'm not quite sure.
Microsoft have a free tool for business and end users which called "Report Builder". It supports the full capabilities of SQL Server Reporting Services. The good thing it is provides a Microsoft Office look-like user interface.
You can download latest version "Report Builder 3.0" from here
http://www.microsoft.com/download/en/details.aspx?DisplayLang=en&id=6116
And for more information about MS Report Builder check this link
http://technet.microsoft.com/en-us/library/dd207008.aspx
Attempting to teach "non-techie" people T-SQL to query a schema with 400+ tables probably isn't going to do well, unless they are limited to querying the views only, and the views hide all the ugly complexities of various joins, grouping etc.
Our company was in a similar situation where Access was used early on, and then we switched everyone over to use T-SQL and SSMS. IMO, this is the approach you'd want to take.
Again though, the success of this will depend on the quality of your views, or better yet, reports you provide your end-users.
Randy
I would look more into something like Stonefieldquery.com that is designed for non developers to build reports. Not that the report writer or query builder in Access is bad, but may be too much. I think they also provide a way to centralize reports and queries where they can be shared. Multiple people are not going to be able to open a single access file and create a report (I think query building is OK.).
Most will use the drag and drop capability, but about 5-10%will come thing a need for SQL and then you can take advantage of the "teachable moment" and get them some training.
Cons for Access certainly would be cost; SSMS should be free assuming you're properly licensed for the SQL server.
Depending on the actual needs, some users might actually be better off with Crystal Reports (never thought I'd say that), or Reporting Services.
you could create a series of sql server analysis cubes and have the users conenct to those using excel so that they can use excel's pivot tables.
Being a newbie at ad hoc reporting and doing the work myself, I used Izenda.com ad hoc reporting. It was very straight forward, and I could do it myself versus outsourcing.
Check SQLS*Plus - http://www.sqlsplus.com
I found SQLS*Plus to be a very effective command line SQL server reporting tool - this is a free tool (for personal use) and allows me to generate reports with the titles, headers, in HTML and CSV formats, format columns in custom masks, set report length, pagesize, etc. As I understand it is very similar to very well known Oracle SQL*Plus reporting tool

Sql Server Services - Overview anyone?

In Short
I am thoroughly confused by the array of SQL Server services available, and am having a hard time finding a brief primer.
The Scoop
I am a long time ASP.Net developer who has happily been churning out ASP.Net applications for years. These have usually been based on SQL server and a range of custom tables and views.
Just recently I have had the need to do some reporting that goes a little beyond the straight forward, and so I have started to look into SQL Server Reporting Services (SSRS). In doing so I feel like i have opened up Pandora's Box.
There is reporting services, integration services, Analysis services, Business intelligence, etc etc. This has got me wondering what they all do, and if I could (or should have been) leveraging these tools to do some of the heavy lifting for .net applications.
My immediate research efforts on Microsoft have stifled me with impenetrable marketing and business speak. My Google searched have turned up no comprehensive overview of what these tools are, or they fit together, or even which tool should be used when. One of the biggest problems i am having comprehending the options is that they all seem kind of the same to me!
So, all of this to say, if some kind sole could set me straight and point me in the right direction, I would be very grateful :)
Very high level overview:
Core services for the database engine itself consist of the SQL Server service itself (or MSSQLSERVER) and there's also the SQL Server Agent and the SQL Server Browser. The SQL Server Agent is a job scheduler for SQL Server and handles some other maintenance tasks and so on, while the Browser service helps with accepting logins and so on by creating an easier way for client applications to connect to SQL Server.
All three of these services though are true 'services' in the sense that they're daemons running on your server. But of these three, you ONLY need MSSQLSERVER running to be able to work with the relational database engine. (The other two services are optional.)
Then, in addition to core database engine functionality, there are a bunch of add-ons or supplemental 'products' and tools that Microsoft Offers to help make SQL Server that much better and more compelling as a platform/offering. As you've seen, these are typically marketed as 'services'.
Reporting Services (or SSRS) is a great solution that uses a native SQL Server database to store information about data sources, report delivery schedules, access permissions, and so on... for a powerful reporting engine that makes it very easy to output great reports from pretty much ANY data source. You just define sources for the reports, wire up datasets and parameters, then use a specialized xml markup (Report Definition Language or RDL) to define look, feel, shape, and so on of your reports. And, Microsoft has created a 'tweaked' version of Visual Studio to make creating/developing/editing these reports much easier. That version of visual studio is called SQL Server Business Intelligence Design Studio (or BIDS).
Likewise, Microsoft also uses BIDS to help developers, DBAs, and analysts create data cubes - multidimensionally 'joined' tables using a specialized schema that allows SQL Server Analysis Services (SSAS) to churn through pretty much any combination of data relations in order to provide 'analytical data'. So... say you have a company selling widgets: you could define relationships between products, customers, sales regions, dates, and so on - and SSAS will take that data (along with specially defined 'cube' definitions that define those relationships, their granularity, and so on) and pre-calculate the outcome to pretty much any combination of those 'dimensions' or angles of data - so that you could say something like: "Show me all x-brand widgets sold by sales people in the northwest region in January of this year.." and it would give you a sum of those parts sold... and even let you drill-down by sales person, store, and so on - assuming you've defined your cube/relationships as needed.
Of course, this functionality is pretty powerful, but you almost never want these cubes running against your production tables... so companies typically create data warehouses or data marts to store their analytic data in. But to copy data on a regular basis from production into these warehouses/marts.. you need some kind of tool that makes it easy to figure out which changes should be picked up, how they should be handled, and what kinds of tweaks/changes you need to make to them to get them out of a highly-normalized production environment into a highly DEnormalized warehouse/data mart (where you're using snowflake or star schemas)...
And this tool/service is none other than SQL Server Integration Services (SSIS) - which has a rich set of connectors, pumps, transforms, monitors, and so on to facilitate data transformations and migrations on a scheduled basis. What's very cool about this tool/service though... is that it doesn't just connect/transform data between SQL Server and SQL Server... but it's able to connect MOST data sources to MOST data sources - so it's a powerful tool for transforming, exporting, importing, modifying, tweaking, and so on all of your data.
And... to define the 'workflows' for your integration/transformation projects, you also use Business Intelligence Design Studio - same as with defining cubes and so on for SQL Server Analysis Services.
Ultimately though, what makes all of these so cool is that you get access to:
SQL Server
SQL Server Reporting Services
SQL Server Integration Services
SQL Server Analysis Services
With SQL Server Standard and Enterprise Editions - so there's no need to buy extra tools/solutions/offerings in order to be able to take advantage of these great features. (The Enterprise Edition of SQL Server which costs about 5x as much as Standard... comes with much better/cooler features in some ways ... but you still get a solid subset of all features using the Standard Edition.)
Here is a basic overview of the services:
Analysis Services: This is Microsoft's data warehousing solution. It allows you to create data cubes and other warehousing features. Provides tools to make it easier to create what-if scenarios. This runs on top of SQL Server. Data warehousing is also referred to as Business Intelligence applications because the warehouses are used to mine and analyze data.
Reporting Services: Allows you to build database reports more easily. It provides a report designer and management functionality. This service is supposed to make it easier and faster to create rich reports. The reporting service also works against non-SQL Server data services.
Integration Services: Provides functionality to build Extract, Transform, Load (ETL) functionality. ETL tools integrate individual data sets and help with extracting, aggregating, cleaning and uploading data. Like the other services, it provides a GUI that is supposed to make these packages easier to create.
You aren't required to use the three services in one bunch but they do provide functionality when used together. For example, you may use Analysis Services to create data cubes, Integration Services to extract the data from an external service and import it into your cube, and the Reporting Services to create reports that contain business metrics from the data contained in the cube.
As to whether you should be/have been using them, as always, it depends. The services provide some great services but don't always fit the project. For example, Reporting Services do make it easier to create reports but, in my experience, it isn't friendly enough for the end-user report authoring as it is advertised. Integration services are great to do some ETL jobs but isn't as flexible as was sometimes required. I used this service in a few projects but it always ended up being more trouble than I would have expected. But definitely, take a look at them.

Microsoft Sync Services - good solution for me?

We upload sales transactions from our stores to the headoffice server. At the moment, we use DTS (SQL Server Data Transformation Services), but we’re planning on replacing that with Microsoft Sync services for ADO.NET, as this seems to be Microsoft’s preferred solution for this type of setup and we want to follow the standard (that will be hopefully be around for a long time).
Here are the details of our setup and what we’re planning. I’m looking for some advice, especially about whether Sync Services fits into our solution.
Situation
Each store has a 3rd party EPOS system which stores sales in a Microsoft Access 2000 database, which we can access. Our headoffice database is SQL Server 2005, but will be upgraded to 2008. The headoffice is not on a VPN with all the stores, but we can open up our firewall to the stores’ IP addresses, so that they can send data directly to SQL Server. The stores are always connected to the internet via ADSL, although they do lose connection and we don’t want to lose sales data.
We are only uploading transactions from the store – definitions do not need to be downloaded.
Current solution
We have written a Windows service that runs on the store PC. This service downloads a DTS package from the server (which contains all the details of the upload) and runs it in the store – and this will upload sales to our server.
We chose DTS, because it is free when you install MSDE. We can’t use SSIS, because that would require a SQL Server licence at every store.
Another reason we chose DTS is that the details of the upload (i.e. which tables and fields to include) are stored on our headoffice server, so if we need to change things we can do that centrally and don’t need to install anything new at the stores. This isn’t a showstopper, but would be nice to have this ability in our new solution.
Potential solution - Microsoft Sync services for ADO.NET
We are currently building a proof of concept with Microsoft Sync services for ADO.NET. The idea is to put SQL CE (SQL Server Compact 3.5) in each store (client) and sync that to the headoffice SQL Server 2005 database (server). We’ll get the data into the SQL CE database either by (1) syncing it with the Access 2000 database or (2) getting the EPOS system developers to write sales straight into the SQL CE database – probably (2). But our main concern is getting the data from the store to the headoffice server. This method seems to be Microsoft’s preferred solution for occasionally connected systems and that is what made us look seriously at Sync Services.
I’m hoping that using this will mean that most of the work needed to upload the sales will be built into Sync Services and we won’t have to re-invent the wheel.
Potential solution - Upload to a custom webservice
There is also the possibility of uploading the sales transactions to a custom web service on our headoffice server and then into our SQL Server database. This means that we will have to build our own mechanism for determining which rows are new, and as well as caching for when the systems are disconnected. Also, we might be missing out on other functionality that will come built into Sync Services.
Please let me know if you have any advice that will help, especially : “Is Sync services the right solution!”. The problem that we are trying to solve seems very generic (uploading sales from stores) – and I’d like to solve it with a generic solution.
Microsoft Sync services is more than you need, but it will certainly do what you want, and it was built with your type of application in mind.
As with most new technologies out of microsoft, (caution: generalization!) you may find that it's not as mature as you might like. It'll do what you need it to, but you may run into issues that aren't easily resolved because it hasn't been put through the ringer. As an early adopter, though, you may find that the Sync developers are eager to help you out when you get stuck, so this isn't as big a problem as it might seem.
Make sure you read through all the literature on it, some of which is here, or linked in the following sites:
http://msdn.microsoft.com/en-us/sync/default.aspx
http://msdn.microsoft.com/en-us/sync/bb887608.aspx
http://en.wikipedia.org/wiki/Microsoft_Sync_Framework
Given your one-way flow of information, though, and centralized layout I expect you should have few, if any, issues setting it up and using it.
Be sure to report your experience back here!
-Adam

Simpler interface for SQL Server analysis services cubes for end users

Is there a simpler interface for end users to run "queries" on pre-existing SqlServer Analysis Service cubes? I'm looking for a way to deploy the cubes and allow the users to work with the data through a simpler interface than BIDS. Is this even possible?
I would recommend Excel too. It is an environment that your users are familiar with anyway, and they will be able to perform additional analysis (totals etc) without learning any new interfaces.
However, I would advise against pivot tables as a method of getting the data into Excel. I once worked on a project using pivot tables, and it was a filthy nightmare. The more recent versions of Office have a slightly different tool called "Microsoft Office Excel Add-in for SQL Server Analysis Services" which can get OLAP data into Excel. I downloaded XLAddinSetup.msi for Excel 2002/3 or you can use this method for Excel 2007.
You can use Excel with pivot tables for that, no need to write any queries at all, they can drill down to all the data they need
There's a couple of End User Reporting Tools around.
Our tool - RSinteract, is quite cheap and effective. It uses an AJAXy web interface so no need to install on the client and has drag and drop functionality similar to the other tools. It also has a 30 day evaluation.
There are many, many tools. An incomplete overview can be found here: http://www.ssas-info.com/analysis-services-client-tools-frontend
Dundas has a set of tools that let you drag and drop dimensions/hierarchies/measures to create visualizations like charts and/or grids. The product name is Dundas Chart for ASP.NET Enterprise Edition, and it has a free demo.
ProClarity also had a suite of tools. Not sure how you get those tools any longer, but I think they are part of MSDN now.
As stated by Jay, there are several client tools you can use to query the cubes that give the end user the ability to drag and drop dimensions for ad-hoc querying.
ProClarity has been acquired by Microsoft, and most of the functionality is being incorporated into PerformancePoint
Panorama Software (original developers of Analysis Services) also provide access with their NovaView products
Another option is Report Builder, that comes for free with SQL Server.
Though the SQL Server 2005 version is a bit cranky, the new release with SQL Server 2008 seems to work much better.
Although it isn't as flexible as excel for ad-hoc queries,it comes very handy for some scenarios.

Resources