Finally a new version of SubSonic was released today with a lot of new features. SubSonic is one of my favorite Data Access Layer (DAL) generators, that makes it super easy to create data access code.
As a developer you have a lot of control over what the generated code looks like, which is great because I do not like code generators to dictate the essence of my code. But the beauty of SubSonic is that you never really have to interact with the generated code itself. It’s automatically generated and compiled for you — you just need to learn how to use it, which is pretty simple. What’s more, it’s free, and works with not only SQL Server, but also with MySQL, SQLite, and Oracle databases. Read more…
Since database are usually designed in development environments, migrating changes over to other environments (e.g. QA and production) is not a trivial task. This is because SQL Server does not have any built-in tools to compare database schemas.
There are quite a few third-party tools that would make your life easier, most notably, Red Gate’s SQL Compare (reasonably priced around $300).
At times, buying a commercial tool is not really an option, so one must resort to googling for free tools. There are three such tools that I am aware of:
- SQLDBDiff by SQLDBTools
A very decent tool that comes in both freeware and shareware versions. Freeware version is not badly crippled; only advanced features such as multi-database comparison, data content comparison, etc. are disabled.
- Database Schema Comparison Utility
This is a Code Project article that comes with C# source code of a schema comparison utility. The utility itself is pretty bare-bone, but gets the job done.
- StarInix Free Database Compare 2.0
I have not used this tool, but from the advertised feature list, it looks pretty good. Most notably, in addition to SQL Server, this tool works with Access and MySQL databases.
Perhaps the best kept secret (or at least the least discussed feature) of Visual Studio 2005 is the client-side reports. Client-side reports consists of the Report Viewer Control and it’s accompanying Report Designer that comes standard with Visual Studio 2005 Professional and up.
This feature can be used to develop ASP.NET or WinForms solutions that sport SQL Server Reporting Services style reports, without having to deploy those reports to a Reporting Server. Reports are deployed as RDLC files with your solutions. In fact one doesn’t even need SQL Server, since these reports can be programatically bound to objects such as DataSets, a huge plus for ditributed n-tier designs where the UI layer does not have direct access to the data store. This also means that one can use any imaginable back-end data store including XML and CSV files as long as data can be loaded into binable objects.
The report viewer control is similar to Reporting Services report viewer, with nifty features such as paging, searching, and export (PDF, Excel, CSV) features. My only complain with the ASP.NET version of the report viewer is that it does not directly support printing. Reports have to be exported to PDF in order for one to print. This was a gotcha with the first versions of Reporting Services report viewer as well, but later they added printing support to the control (perhaps through ActiveX) in Reporting Services SP1.
You can find more information about this feature at GotReportViewer.