Image via WikipediaWith Oracle now the new owner of
MySQL how have things changed? One of the first things to notice is that
MicroSoft now offers MS
SQL Server Express a free version of
Microsoft SQL Server. The next thing to notice is the flocking to old standbys like
PostgreSQL. Of course these types of changes have all sorts of movement due to biases about vendors that I will skip over and look at the Express bundle and what is happening there.
First Express is not
Open Source, it is Free Ware. You can down load the bundles install packages and be up and running in minutes. But what are you getting. Bearing in mind that the strategy for freeware used by most large companies is to get you to try a limited version, or trial version and upgrade to a version that you pay for, or to buy services. After all companies need to make a profit to stay in business.
SQL Server Express is basically limited in capacity, to a single CPU and 1 GB. Which is great for trying out a product, learning it, and building small lightweight Mom and Pop level data bases as well as Corporate Office applications used by a handful of People. So far, so good. It also comes bundled with a really nice report builder tool. An experienced programmer can set up a database, and generate some very nice reports within an hour or so. Awesome so far. Other than the report builder is labeled as a Business Intelligence tool.
Now you want to build a form so that a user can enter data, place an order, etc. You think, Visual Basic, you just down loaded that right from the same page a SQL Server Express. All that great great drag and drop features for building a form. One slight catch,
Visual Basic Express won't connect to SQL Server. Neither will C#, C++ Express. Can't connect using the data base tool. The
Data source lock down the connection the following choices:
Microsoft Access File
Microsoft SQL Server Compact 3.5
Microsoft SQL Server File
Most users at this point would give up and assume that you need to upgrade. That seems to be a rather cheap trick to get an upgrade. Also the Visual Studio Web shows the SQL Server directly (but has other grayed out features).
But what MS has really done is limit to a local connection by tying the user to the local file access, and allow them to claim VB/C#/C++ Express integrates with SQL Server Express, but through a loop to get upgrades. (Personally I think they will loose more at this point, but "Only MicroSoft").
Here’s the trick to get past that: with Visual Basic 2010 Express, you have to connect directly to the database file that the server uses. You may be used to connecting to remote database servers – you can’t do that here. When you create a data base in MS SQL Server Express it creates an underlying mdf file; e.g. When you create MyDB, SQL Server creates a file on your PC named MyDB.mdf. Find it, and if the full path name is different from:
C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\MyDB.mdf
Then you can go ahead and select Server File option and follow all the prompts, and then develop your code with all of the drag and drop features. To get back to being able tie back to the Server then you can go back and change the connection strings.
Why go to this grief in the first place. MS Access 2007 no longer has User Based access controls. You have to drop back to
Access 2002.
Lets see were that puts things. One of the following categories: 1) New learners. 2) Spending $K for a shared desktop app for something that should take less than a day. or 3) or back to AMP (Apache MySQL PHP/Perl) or replace MySQL with your favorite Open Source and P=jruby, etc.. 4) Prototyping for large data warehouse apps.
I expect MS to remain behind Oracle and
IBM in the database market.