All in the <head>

– Ponderings & code by Drew McLellan –

– Live from The Internets since 2003 –

About

When Vendor Tie-In Bites Back

16 October 2004

Whilst by choice I spend a lot of my time working with open source and vendor-neutral technologies, I do have a lot of history with things like Microsoft ASP, and from time to time I find myself working on projects based on closed technologies. It is one of those projects that I’m working on this weekend. For their own reasons, the client needed this web app to be built using classic ASP and SQL Server 2000.

I probably ought to state now that I’m not sure if the problem I have here is one of vendor tie-in, or simply one of it-sucks-to-have-to-develop-with-SQL-Server, or if in fact both are the same thing. I should also point out that I’m not particularly trying to make a case for open source vs anything else, but am rather recounting my experience with that. But I digress. As I was going to be doing a lot of database work and therefore would need to use SQL Server’s Enterprise Manager and Query Analyser tools, I fired up my Windows XP box at the back of the desk (I had to dust it off) and worked from that. It seemed simplest, and would let the technology for the most part get out of the way.

Unknown Error

I’d been working away for a while before I’d realised I couldn’t query any of the tables in Enterprise Manager without an Unknown Error message coming back. Irritating to say the least, so I rebooted and tried again. Same story. I tried telling Enterprise Manager to forget all about the server it was connected to, then reconnected and tried again. Nothing. So I reinstalled all the SQL Server tools. Again, no joy. I became grumpy and went and made more coffee.

After a bit of googling, it became apparent that the fault could be fixed by upgrading MDAC to version 2.8. MDAC is basically just a bundle of database drivers, XML parsers and such. Silly old me only had version 2.7, so I downloaded the 2.8 installer, which promptly failed to install. Googling on that problem found a bunch of suggested solutions, none of which worked for me. Enterprise Manager is still broken.

Every Possible Chance

To be honest, I’m not surprised by the situation. The database toolset hasn’t really been updated in at least the six or so years that I’ve been using SQL Server. And the tools sucked back then too. The thing that really annoys me is that I’m running a XP workstation logged onto a Windows Active Directory domain, connecting to a Windows Server 2003 server running SQL Server 2000, and it doesn’t work. I can’t think what greater chance of success I could give it. On top of that, the killer is that there’s nothing I can do about it. I guess I could try reinstalling Windows XP on my workstation, but that holds no guarantees and would eat a considerable amount of my day.

Microsoft have a new version of SQL Server around the corner, which I was thrilled to hear came with a brand new toolset. Looks like even MS realised their tools were crap. However, on digging deeper (and I hope someone can tell me I’m wrong) it appears that these tools are not stand-alone as present, but are integrated into Visual Studio.NET. I can imagine the meeting that made that decision.

Comparing SQL Server with MySQL

The database server I work with most of the time is MySQL. The only real justification that can be brought for comparing the likes of SQL Server and MySQL is that they are both common choices for web applications. If you’re developing your web app on a Microsoft platform, SQL Server is really the only choice unless your app is hefty enough to require an Oracle solution. SQL Server is actually a really good product (its tools aside). It’s a robust, scaleable, transactional beast of a server that you can hang some pretty serious enterprise-level applications off. It doesn’t compete with Oracle when you’ve got serious numbers of users, but for the SME it’s perfect.

MySQL on the other hand only has a fraction of the features available in SQL Server. Although there’s some good stuff coming, the current stable release doesn’t have views, stored procedures, or even subqueries. But, it’s fast, light, and perfect for web applications. Once stored procs and subqueries make it into the stable release, there’s no holding it back. Most importantly, however, there’s no vendor tie-in. MySQL is open source – the result of which is that anyone can come along and write a fully featured set of development tools for it. Even on OS X, which is a fairly obscure platform in the scheme of things, I can find several robust MySQL admin tools to work with. If I come across a bug in one, I can switch to another.

Tie-in

It’s the simple fact that vendor tie-in reduces the number of options when things go wrong that makes it a very hard business decision to take. Choose product A and be reliant on Company A when things go wrong. Choose product B and have the choice of going to Company B, X, Y or Z, or hiring a developer to fix it for you, or trying out a new release or … the number of options are large. Throw into the mix that product A costs thousands, and product B is free, and it becomes a no-brainer.

- Drew McLellan

Comments

  1. § Olivier Travers: I don’t know whether that will solve your problem, but make sure you have installed the SQL Server service pack on your XP box (well the client part of course) to get the latest Enterprise Manager version, which takes care of some pretty nasty bugs (it took forever to display those crowded database trees on shared hosts for instance).

    That said, yes Enterprise Manager could be seriously overhauled. Some windows that hold a lot of information can’t even be resized.
  2. § Jonathan Snook: Hrm, you seem to be making a case for open source in some way but I think you have failed in accomplishing your goal.

    1) having a problem with an install isn’t necessarily indicative of a bad product. Open source software suffers the same problems with installation and maintenance.

    2) MySQL and Oracle fall down just as much, if not more so, with supplied toolsets. Picking on Microsoft just seems like poor sportsmanship.

    3) there are numerous third-party tools instead of the Enterprise Manager or the Query Analyzer. Vendor tie-in at the tool level just doesn’t exist.

    Now before I come off as all “MS Rulez!”, I’m all for open source and obviously MySQL has a large market share. I use it all the time. You just need to form a better argument. For example, offering a comparison between different databases and their tools would be a great article.
  3. § Drew McLellan: Jonathon – I’m not particular making a case for anything. Just highlighting some experiences and weighing up pros and cons. In answer to your points

    1) Agreed, a bad install isn’t indicative of a bad product. The problem occurs when you’re left with no where to turn.

    2) Yes, all products have their shortcomings. It’s inevitable. However, if you’re reliant on a single vendor (like Microsoft) to solve your problem and they’re not interested, you’re stuffed.

    3) Could you provide some links to third party tools you’d recommend? I’ve looked in the past and haven’t found anything that enables me to completely replace the standard tools.
  4. § Jonathan Snook: A quick googling and a little search on download.com revealed the programs below. I’ve tried a couple of the PC versions but nothing has really seemed to offer “the complete package”.

    Mac:
    SQL4x

    PC:
    SQL Source Control 2003
    SQL Query Tool in ODBC or ADO versions
    TOAD

    Best of luck! :)
  5. § Steven Marshall: “Microsoft have a new version of SQL Server around the corner, which I was thrilled to hear came with a brand new toolset. Looks like even MS realised their tools were crap. However, on digging deeper (and I hope someone can tell me I’m wrong) it appears that these tools are not stand-alone as present, but are integrated into Visual Studio.NET. I can imagine the meeting that made that decision.”
    Not quite true – SQL Server 2005 integrates with Visual Studio.Net 2005 or, if you don’t have Visual Studio.Net 2005, runs as a stand-alone app with it’s own copy of the Visual Studio.Net 2005 IDE framework.

    Well, that’s how it works in the current beta, anyway.

    Only got SQL Server 2005 tools on the machine? Not a problem.
    Got SQL Server 2005 and Visual Studio.Net 2005 on the machine? Even better – you get integration between the two, and get to do some really neat things like inline SQL stored procedure debugging.

    That said, I can completely sympathise with your woes with SQL Server – having worked on it on LE web applications for the past two years, I’m well aware of many of it’s drawbacks and so forth. That said, mySQL would, quite frankly, fall in a smoldering heap if you tried to do half the things we do with SQL Server.

    Ok, it’s not as big and meaty as Oracle, but for anything that doesn’t involve querying a quarter of a billion rows in one hit, it’s just as fast and almost as powerful.
  6. § Will Rickards: If you are looking for tools, give winsql a try. Works with lots of ODBC datasources like SQL server, Informix and Oracle. Linky: http://www.indus-soft.com/SynametricsWebApp/WinSQL.jsp
  7. § Azizi Khan: I would have to agree with Olivier, you seem to be picking on Microsoft for no real reason at all (except it seems that you may be cheesed off that your client required you to use Microsoft products ). Microsoft and their developers ( and fans ) have huge websites dedicated to this. One such site is MSDN.

    Now if you owned Microsoft products you can even contact Microsoft support or Microsoft consultants and get them to help you. So this is not really “single vendor support”. Check out the sheer number of “Microsoft Partners” for any number of Microsoft products.

    Open source or not, the choice has always been there, if paying for the support solves your problem which in a way same as paying Open Source solution vendors.

    The new SQL Server is long time overdue, SQL2K in its time did well and as Steven said, does things that mySQL cannot match and rightfully so, mySQL is still in its infancy. Perhaps given enough time and support, it will one day grow up to be an enterprise class software.

    Microsoft never said they dont support their products, except for products that have ended their lifetime ( which are still supported by their consultants – for a fee…)

    Hope this enlightens you a little bit on the support which is available in the “non” Open Source world.

    Cheers

Photographs

Work With Me

edgeofmyseat.com logo

At edgeofmyseat.com we build custom content management systems, ecommerce solutions and develop web apps.

Follow me

Recent Links

Affiliation

  • Web Standards Project
  • Britpack
  • 24 ways

I made

Perch - a really little cms

About Drew McLellan

Photo of Drew McLellan

Drew McLellan (@drewm) has been hacking on the web since around 1996 following an unfortunate incident with a margarine tub. Since then he’s spread himself between both front- and back-end development projects, and now is Director and Senior Web Developer at edgeofmyseat.com in Maidenhead, UK (GEO: 51.5217, -0.7177). Prior to this, Drew was a Web Developer for Yahoo!, and before that primarily worked as a technical lead within design and branding agencies for clients such as Nissan, Goodyear Dunlop, Siemens/Bosch, Cadburys, ICI Dulux and Virgin.net. Somewhere along the way, Drew managed to get himself embroiled with Dreamweaver and was made an early Macromedia Evangelist for that product. This lead to book deals, public appearances, fame, glory, and his eventual downfall.

Picking himself up again, Drew is now a strong advocate for best practises, and stood as Group Lead for The Web Standards Project 2006-08. He has had articles published by A List Apart, Adobe, and O’Reilly Media’s XML.com, mostly due to mistaken identity. Drew is a proponent of the lower-case semantic web, and is currently expending energies in the direction of the microformats movement, with particular interests in making parsers an off-the-shelf commodity and developing simple UI conventions. He writes here at all in the head and, with a little help from his friends, at 24 ways.