Crystal Reports vs SQL Server Reporting Services - asp.net

I want to make a website. According to the requirements I have many simple as well as complex reports which may have more column to display sometimes. I haven't worked with the reporting in web. I want to know which is best from both of them according to my requirement.

Without actually knowing your requirements - my gut feeling would be to favor SQL Server Reporting Services.
Why?
It comes with SQL Server, so it's basically free (if you have SQL Server anyway)
it's quite capable in terms of rendering and exporting
it's also extensible with .NET code, if you ever need to
you can schedule reports at a given time etc.
Crystal Reports on the other hand
is a separate add-on you have to buy (and it's quite expensive, too)
it's a bit clunky and hard to use at times (in my opinion)
it doesn't integrate nearly as well with SQL Server and ASP.NET

Related

Reporting Web Application without SQL database?

I have build a Reporting Web Application using ASP.NET and SSRS with SQL DB.
Below is my concern :
Report rendering is slower . I need to make the report faster. Does Crystal Reports or some other things helps me to make report faster? Please suggest
I have heard from the experienced people that SSRS deployment will be more complicated to deploy correctly compared to crystal reports?
Can we build the reporting engine without SQL DB ?
May i know the different technologies to build web based reporting engine which is faster, licensed free, easy maintainence...
Thanks in advance
Ad 1, rendering times. You should investigate the cause for the slow rendering. SSRS is not particularly known for its blazing speed (specially with heavy aggregates and large numbers (hundreds) of pages, but should be fast if you use it just as what it is: a reporting tool. If you have problems, analyze the ExecutionLog2 to check if it's the query, the processing, or the rendering that's giving trouble - and optimize accordingly.
Ad 2, deployment. There are a few issues to pay attention to, but in general you should be fine. In any case your question as it stands is too broad for SO, and fishing for opinions. I recommend you search a bit more, and if you still have a question ask it in chat (subjective, opinions) or on SO (objective, practical questions).
Ad 3, no DB. You can connect a multitude of data sources to a report, including object data sources.
Ad 4 "best". I suggest you remove this subquestion, because it's really a subjective question asking for opinions (this is not recommended, as per the stack overflow FAQ).
Good luck building your reporting solution!
As an answer to 3 => If you use crystal reports for instance, you can construct you own dataset in code and pass the dataset to crystal reports which will do the formatting. This way you can omit the need of an sql db.

Should I consider migrating from SQL Server to Oracle for my ASP.NET applications?

We're upgrading our systems to support clustering and auto failover features. Our business runs .NET 4 applications, web apps and services on SQL Server Express. We can upgrade to SQL Server Standard, but the cost has motivated us to consider other options. Is it a legitimate option to integrate our .NET data layer with ODP.NET? After searching, I have seen a tendentious statement or two in the negative (viz) and yet it would seem that people are doing it anyway. What development features in the Visual Studio IDE will we lose? Thanks for your help!
Well, I'm now working since 20+ years with Oracle and MS SQL Server, having done a lot of projects. Some projects are running now more than 10 years, with all the updates, maintenance and so on.
My quick answer is: Stay with MS SQL Server. Go to Oracle only, if you have really GOOD TECHNICAL reason, or if you are planning really an ENORMOUS database, and if you have enough staff to handle all thge administration.
The main reason is that SQL Server is much easier to maintain; and it also integrates greatly into the Microsoft environment.
Oracle, in contrast, has a steep learning curve. The handling of Oracle is much more "manual" then MS SQL Server. Well, that's also a good thing, because you are in control of every small detail, but it also means that you need to learn a lot; or you need to pay experts. And it is not so easy to find people who really know what to do.
I really like both Systems, but for a rule of thumb, I normally suggest to use MS SQL Server.
I've been using .net with Oracle for years, and migrate away from it whenever the option is available.
If all your database code is in stored procs and you call it though the codebehind or a library and you use ansi sql your migration from ms sql to oracle will be fairly painless.
If you use TableAdapters, they re-write any sql you put in to the oldschool oracle 8 syntax like table1,table2,table3 then have a big where clause to do the join conditions. There's also some weird bugs where sometimes sql that runs fine over in SQL Developer won't work in the TableAdapters.
If you use Entity Framework migration should be pretty easy, but the MS SQL driver is much better then the Oracle one. There have been several queries I couldn't do though EF in oracle because of some of the various errors with the current driver.
If you need more info let me know.
Also if Cost is the main reason to consider migration, why not go with mysql?
Since you are already working in MS SQL, you must be habitual of the way it work, be it entity framework or any other data execution. Yes offcource, microsoft has very high license rates for it. But if you want to move to any other database, it is perfectly alright. I have personally used MS SQL and MySQL both. Initially you might face some syntax related issues, but do remember that logic remains the same for fetching and saving the data. Further it gives a benefit that you got to learn a new language and that too at the expense of far less money.

Time to learn ASP.NET for a client-side scripter?

I am taking part in Imagine Cup and got only three months for building a site in ASP.NET. Is it possible to learn enough to build a working site containing an cms, login system in a month. Its not that I am beginning web development, I already know a little asp.net and know AJAX, JAVASCRIPT, CSS, HTML, SQL but have never worked with databases. I was never into web development but started because of Imagine cup. In 2 months I already know HTML, CSS, JAVASCRIPT, HTML and AJAX but I am worried about the complexity of server-side scripting and ask for the best way to get me working in ASP.NET in a month. I know c#.
Although you can't be an expert in a month, you can get up and running fairly quickly with webforms. Since it already includes a login system, you can get that up and running quickly.
As far as CMS, it depends what you need. An advanced CMS system is a major undertaking.
Getting going with ASP.NET
Actually, if you want to re-apply everything you know about creating JS enabled static html sites, you'd have a smoother path using MVC because you don't have to guess what the tag id's are, you don't have to guess what kind of HTML a server side control is going to create, etc.
That said, Jonathan Wood is correct, to just create a page with labels and buttons, Web Forms has fewer concepts you need to learn, but you will find it harder to apply the same techniques that work well with JS + static html.
Data bases
If you use SQL Compact, then it is easier to get started because you needn't learn to mess with the numerous things going on with SQL Server (like a security model appropriate for big companies, but not for learners). Another easy alternative is MS-Access because the "Query by Example (QBE)" query designer is still better than anything that the Visual Studio or SSMS teams ever put together.
Keep in mind that if you use MS-Access, while it will be really easy to learn (more so than SQL Compact), MS-Access uses Jet SQL and has many other differences from SQL Server, where as everything you learn about SQL Compact will apply to SQL Server.
Not sure what the conditions etc of Imagine cup are, but I strongly recommend to use an existing CMS (in particular Umbraco) instead of developing all from scratch. Some advantages are:
No need to dive into SQL and databases right away
Building blocks are available (login system) and leverage existing ASP.NET technologies
Razor can be used instead of xslt which will be a skill you'll be able to apply to pure ASP.NET MVC development later on
Very friendly and helpful community if you need some help
Starter kits available - basic web sites can be created easily
By diving into any detail of the CMS, you'll learn a lot (source code available)
You could probably pick up the basics with a few good books. Sam's, Wrox, APress and O'Reilly are great. You can also check http://www.asp.net/get-started for Microsoft's official tutorials.
You can also download the express versions of Visual Studio 2010 and SQL Server. If you want to continue on after the competition I'd strongly recommend you learn database programming on SQL Server 2010 Express. (It'll help you down the road)
Good luck with it.

Generate reports through ASP.NET

I need to generate reports from database (billing forms for example) from ASP.NET interface. So I'm wondering which approach is better : Use Crystal Reports, reports based on RDLC or SQL Reporting Services ? I need to create an interface, which allows user to select data and through pre-created report definition generate that report. I want to use ASP.NET with AJAX, so it will act as a real application, but with no need for installation - and this is primary requirement.
So, if somebody knows which technology suits best those requirements...I will be grateful :)
Personally I would go for DevExpress XtraReports.
I have used it in the past in both windows forms and web forms; it costs few hundreds of bucks but with the package you also get plenty of other UI controls, or you spend less and only buy XtraReports. It pays off in a flash, main advantages in my opinion are:
each report can be designed with a Visual Studio integrated designer and becomes a simple c# class, easy to instantiate and use, no magic and no external report definitions, all pure 100% .NET code;
end user designed is royalty free and users are amazed by the power and quality of the designer, with Ribbon or classic UI, plenty of features;
so many out of the box zero coding ready to use features like print preview, export to excel, pdf etc...
Disclaimer: I do not work for DevExpress, I am not paid by them, simply I am a satisfied customer and used their products before with joy and good results, we are now in the process of starting a major MVC application development in my company and we are buying licenses of their DXperience Enterprise subscription these days.
you are free to also evaluate or test Crystal Reports or similar reporting solutions offered by ActiveReports, Telerik etc, I can only speak about XtraReports because I used it a lot, Crystal I used in the past with Visual Studio 2003 but I was not so impressed by the designer and deployment was really a mess in windows forms... always missing some files and having errors on client machines...
I would suggest taking a look at ActiveReports 6. It provides great features and allows you to make almost unlimited customization to your report. For ASP.NET you can either opt for the standard edition which allows you to custom export your reports to different formats like PDF, Excel etc and display them to the users.
The professional edition provides you a webviewer control which allows you to display reports directly on the viewer and the user has the option to chose from PDF, HTML and FlashViewer format. In addition to this it also provides a silverlight based viewer control.
You may also want to check the blogs and the forums just in case you want to get more information about the product.
Thanks,
Sankalp (GrapeCity)
Don't miss to take a look into List & Label, too.
We've done some good projects with it!
We use SQL Server Reporting services, it has a visual studio based designer, and it's free. The distribution is a little tricky - If your clients already have SQL Server installed, then there is a a good chance they will have the reporting framework installed. Otherwise you can get just about distribute the dll's with your application - although this takes a bit of digging.

Performance issues with SharePoint and Telerik RadGrid Control

I originally posted this question to narrow down the slowness issues with my SharePoint application. After accepting StriplingWarrior's answer, I began to step through his suggestions. In a nutshell, I have a RadGrid within an Application Page hosted on a SharePoint 2010 Server. The RadGrid runs perfectly fine when paging; however, once a filter is applied, ex: give me last names that contain 'doe' (using Telerik's built-in filter mechanism), the results take upwards of 15 seconds to return. This does not occur in my development environment, using the same set of data (approx 30,000 records).
A couple of notes here:
The SQL which is produced by my LINQ to SQL expressions are fine. I traced them with LINQPad and placed them into Management Studio. Nothing complex going on there.
I created an empty ASP.NET 3.5 Web Forms application and ported one of the offending RadGrids. I placed the web application on the production server and wouldn't you know...it ran just fine. No performance issues when filtering.
So by doing the aforementioned, I was able to rule out the following:
Database optimization issues.
Network issues between the SharePoint application and database server.
LINQ to SQL optimization issues.
Looking at this case from a high-level, can you think of anything that I need to do on the SharePoint application server or otherwise to fix this issue? I have debugging turned off in the web.config.
Again, here is my original question that contains the code. Thank you.
I would start by establishing were the 15 seconds are spent:
1. Server side
2. Client side
You can use a browser plugin like Page Speed (http://code.google.com/intl/da-DK/speed/page-speed/) to measure various aspects of your page. In case a major part of the 15 seconds is used server side for rendering the page you can narrow down what takes so long with a profiler tool or tracing statements in the code.
Your issue sounds a little bit like an issue with how the RadGrid handles filtering. You say that the generated SQL and database performance is fine. Does the filter expression (e.g. doe) get translated to a SQL where clause? I would suspect that the Grid selects all records from the DB and than applies the filter.
Kr, Bernd.
The SharePoint performance problems occur primarily due to the following reasons:
BLOBs overwhelm SQL Server
Too many database trips for lists
You can dramatically improve SharePoint performance if you use a few of intelligent techniques which are:
Externalize Documents (BLOBs)
Cache Lists and BLOBs
Microsoft Office SharePoint Server (MOSS) is an extremely popular product that improves effectiveness of organizations through content management and enterprise search, shared business processes, and information-sharing across boundaries for better business insight. And StorageEdge is an extremely fine product that enhance/improve SharePoint performance.

Resources