views:

445

answers:

7

I am starting a new client/server project in work and I want to start using some of the newer technologies i've been reading about, LINQ and Generics being the main ones. Up until now I have been developing these types of applications with MySQL as clients were unwilling to pay the large licence costs for MSSQL.

I have played around a small amount with the express versions but have never actually developed anything with them. The new application will not have more than 5 concurrent connections but will be needed for daily reporting.

[1] Can MSSQL 2005 express still be downloaded? I cant seem to find it on the microsoft site. I would be hesitant to use MSSQL 2008 on a project so soon after its release.

[2] Are the express version adequate for my needs, I'm sure loads of people reading this have used them. Did you encounter any problems?

+1  A: 

Note sure about #2 but you can download SQL Server Express 2005 here.

Mark Biek
+6  A: 

The answer to the question on any project in regards to what platform/technologies to use is: What does everyone know best?

1. Yes express can still be downloaded.

2. Will it fit your requirements? That depends on your requirements, of course. I have deployed MSSQL2005 Express on several enterprise level projects which I knew had a fixed database size that would never be exceeded (Express has a limit of each database not in excess of 4gb). Also keep in mind there are other hardware constraints such as a 1 cpu limit.

Another thing to consider is if you need the Enterprise level tools that come with a paid edition of SQL Server. If you are moving a lot of flat data around you are stuck writing your own Bulk Copy Procs, which rule the house, but its an extra step, no doubt.

Ian Patrick Hughes
+1  A: 

Sql express has more features, and is a lot more powerful, but will only run on windows boxes. If you ever need to scale Sql express can be switched easily to a commercial variant.

MySql doesn't support half the features, but does have most of the basic ones you actually need, and will run on windows or *nix boxes. It's also not throttled in the same way as Sql express is.

In my opinion (having used both extensively, but not touched MySql for a few years) Sql express is a far better DB system. If you're building .Net applications the Linq support is a deal clincher.

If you aren't going for pure Sql server support, I wouldn't go for pure MySql support instead. Use a DBFactory design pattern to load your data layer or use simple SQL:92 syntax that's a lowest common denominator.

Keith
+1  A: 

Why not go to Sql server express 2008?

A: 

Wow 4 replies, i asked this poorly formed question as a semi test of the site but i have to say i'm impressed with the quantity and quality of replies in so short a time.

Thanks for the links guys, don't know why i couldn't find that earlier.

@Ian Im doing requirement gathering in a week or two so ill figure out if Express is viable but based on what i have seen online it should be fine.

@Keith I dont think support for *nix will be an issue. Im based in Ireland and linux / unix penetration into small / medium sized businesses is very limited to say the least.

@Stephen Have you used 2008 on a deployed App? I worked with 2000 extensively but haven't touched 2005 or 2008. I guess i thought .net3.5, C#3, LINQ, Generics and TDD would be enough of a learning curve on one project without having to learn a db that is further away from what i have already used (2000)!

Kaius
+1  A: 

I'm mostly going to advocate MS SQL Server because of .NET integration. Linq To Sql is pretty much my favorite way to do deal with databases these days: anonymous functions make everything better! My current place of work has also used MSSQL Express for real projects, so you have at least two of us confirming that the restrictions aren't too harsh.

C Hogg
+1  A: 

I have about 50 web sites running perl/apache/mysql and about 10 running C#/ASP.Net/SQL Server (Lite) and other (large) applications running on SQL Server (Heavy). I never have problems with SQL Server - it just works. I often have problems with MySQL.

My advice would be to go for the SQL Server based option even if you had to pay for it.

vextasy
What problems did you have with MySQL?
vintana