VistaDB: Scaling to MSSQL with no Code Change
Well if you are reading this then I guess the world didn’t end and it’s safe for me to welcome you to the tidbit behind door number 21 in the Gibraltar Software advent calendar.
Today we’re going to look at scaling up from VistaDB to MSSQL and scaling down from MSSQL to VistaDB. What? I hear you say. Why would you want to do that? Well there are a couple of scenarios that I can think of.
Firstly, you’re an ISV. You have a great little product idea, you build it, and low and behold, everyone else thinks it’s a great idea too. It grows, both in customer base and in functionality until, joy of joys, you’ve out-grown VistaDB and you need to call on “big brother” in the guise of MSSQL.
Okay, so that’s pretty clear cut, but downsizing, why? Your business goes down the Swanee and you can’t afford MSSQL? Nah, that’s a bit pessimistic! What is more realistic though is that you have a successful product and you want to give a demo away on a pendrive at your favourite conference? MSSQL on a pendrive? I don’t think so, but VistaDB? Sure, why not?
Knowing that we’d want to do this is one thing, actually knowing how to do it is another. I mean we have different connections types and we won’t know which one we are dealing with until run time. Hmm, instantiating classes based on runtime knowledge, sounds like the factory pattern to me!
Don’t worry though, you won’t have to implement your own factory pattern, those nice chaps at Microsoft have done it for you and wrapped it up in the System.Data package for your use. Hop over to this page on the VistaDB site to see exactly how it’s done.
Well that’s all for this advent post, until next time, happy coding!