Things I mind about Reporting Services in SQL 2005

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

On the MVP summit we had a last day sessions (amongst others) about the new Reporting Services, and while I can’t tell you the details (don’t know what part is NDA and what is not) I can tell you that the guys are going in the right direction and really trying to fix some of the problematic things in the current version of Reporting Services.

On my way home I thought some more what I minded (=missed) about Reporting, so this blog post is an attempt to mention a couple of these things and hopefully someone from MS will read this.

Ok, so in no particular order:

  1. Shared library within a reporting project - on each reporting project we have a number of repeating report functions, it would be great if we could write them in c# classes (and class files), reuse them accross all reports in the project and deploy them as a report solution or as a shared library which is linked to the deployed reports
  2. Code editing - when editing code (functions, expressions, etc…) it would be nice to implement things like syntax highlighting, better intellisense (although that part is ok now mostly) so that in this day and age of modern IDE’s we can also use these features (althoguh every 5th level editor has these now)
  3. Report localization - I work for a company which delivers multilingual solutions as well (often a Dutch company application also needs reports, UI and other things in Belgium for example or even plain English) - it would be nice if engine would support something like ASP.NET does

There are probably more things like these, but:

  1. I can’t remember now
  2. The guys from MS are really working hard and some of the big issues (for me) I’ve already seen as fixed


Cheers!


Filed under: SQL, SQL Reporting Services
Written on: 23 Apr 2008 · No Comments »

Classify your magic numbers in the database

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5 out of 5)
Loading ... Loading ...

I often see how developers do the same mistake over and over again.

This time it’s concerned with using the magic numbers in the database.

Often you get a request to realize something like:

“If a given piece of data is in positive status 1 or 101 then do this or that” or “Export all data which is in the positive status 1 or 101″

 statuses

Usually what I see as being done then is:

statuses2

Now think about what happens when the client calls you in 3 months from now asking to add another positive status?

Probably you will need to *hard code* it’s positive status in half a dozen places and then even forget about a couple of them… argh… awful.

What can be done?

Well, you can introduce your own level of abstraction - or better said - classify your statuses to avoid maintenance nightmare.

 statuses3[5]

Now you can create your “Positive response” status classification in the Status Classifications table, and connect it to the current and future statuses pretty easily through the third table StatusClassificationStatuses.

Also, then you can do a better and cleaner query with something like:

statuses4

This way your code doesn’t depend on the clients direct changes but on your abstraction - which in my book is a lot better.

As you can see this is a very simple and effective way to get yourself out of some bugs and issues in your applications.

Cheers!


Filed under: Best practices, SQL
Written on: 20 Nov 2007 · No Comments »

SQL 2008 upcoming webcast for developers!

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Just got an email from a colleague in MS about a webcast that could be very interesting.

It’s named: MSDN Webcast: Data Programmability and SQL Server 2008 (Level 200)

And you can sign up for it here:
http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032347487&EventCategory=4&culture=en-US&CountryCode=US


Check it out! :)


Filed under: SQL
Written on: 23 Aug 2007 · No Comments »

Usefull T-SQL Constraint and other commands

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

I’ve bean using these for quite some time, and have used them again today so it came cross my mind to mention them on my blog.

Here goes nothing…

– Disable all constraints for a given table
ALTER TABLE [Some_Table] NOCHECK CONSTRAINT ALL

– Enable all constraints for a given table
ALTER TABLE [Some_Table] CHECK CONSTRAINT ALL

– Reseed the identity of a table back to zero (next record will have auto ident set to 1)
DBCC CHECKIDENT ([Some_Table], RESEED, 0)

– “Run” table constraints on a table to verify that everything is ok
DBCC CHECKCONSTRAINTS (’[Some_Table]‘)



hope this helps someone, it sure did me over the past years.


Filed under: SQL
Written on: 28 Jun 2006 · No Comments »

SQLPrompt interesting feature

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

If you didn’t know, SQLPrompt is a great tool from Red-Gate which enables you to have intellisense for your SQL code in all kinds of development enviroments.

What you maybe didn’t know is that this tool also has Code Snippets, so besides beeing a great SQL intellisense tool, you can now define your own commonly used SQL snippets through this gem! :)

You can find the tool here: http://www.red-gate.com



Filed under: SQL
Written on: 01 Jun 2006 · No Comments »