Tony Goodhew - Independent Developer
Ever since I wrote the article on VB & SQL I've been receiving mails from trainers asking about the history of the Jet engine. So I thought it might make an informative, if somewhat colloquial, article for the AVDF. Most of this information comes from my time at Microsoft and I don't have any documentary evidence, so I'll be adopting the Carmen defense of 'to the best of my recollection...'.
The basis for Access came from the database product Omega. The developers for Omega came over from the Rbase product. Some of you might remember that this was Microsoft's first database. This product was mainly developed in FORTRAN and the lead programmer was Fred Grey (who went on to do good things in the compiler group). The developers came across to the Omega project to develop a new database that would compete with dBase but in a windows environment. The project went for a couple of years and then, during a code review, Bill gave it the bullet (which from memory was in mid 1989). Bill however did like the scripting engine in it and asked that the core of the team develop that more fully. Thus was born VB. The remainder of the team started work on a new database product that was code named Cirrus. The Cirrus project used the pre-release version of the VB core code with enhancements for the programming side of things. The developers built some cool tools (QBE grid etc.) and used some of the old code from Omega. This code was given to a specific group to develop as Microsoft had planned at the time to make it the core database component in all its systems. The intention was even to merge it with SQL Server and have a single, one size fits all, DB engine. As history shows, Jet never really made it and the Red/Blue projects sort of faded away.
Faded but not quite. The Red/Blue concept was basically to produce a 16 Bit and 32 bit core engine technology that could be used by the other product groups at MS. In the early product days the Jet engine really wasn't separable from Access. This is why it never made it to VB until VB 3.0. It would be reasonably accurate to say that up until that stage Jet was more the name of the team that was assigned to work on the DB engine modules of Access rather than a component team. For VB 3.0 they basically had to tear it out of Access and graft it onto VB. That's why they've had all those Jet/ODBC problems in VB 3.0.
In between VB 3.0 and VB 4.0 was the release of Access 2.0. In this release Jet was more like a component than ever before. At this stage the Access ODBC driver came out a few months before 2.0 and it could actually do 'Jet' like actions rather than the trivial database actions that the 1.0 driver supported. This was because the developers of the ODBC driver could make use of the sub-components of the Jet engine to produce the driver.
Sometime after Access 2.0, but before VB 4.0, there was a retrofit pack released for VB that allowed the developers to update the VB 3.0 version of Jet to use Access 2.0 databases. It didn't give the VB 3.0 developers the full functionality of the New Jet engine but it came pretty close. As you can see there is a progression towards full component status here and the Jet engine was finally off the ground and flying (sorry I couldn't help myself :-)).
With Access 95 and VB 4.0 Jet is now a component that can be re-used but unfortunately technology in the DB world had passed it by and the core Database engine at MS is now SQL Server. The original plans had Jet in Exchange & SMS, in both cases that engine technology is now SQL Server. This is evident in IIS, Catapult, etc. the database they are leaning to is SQL Server.
To find more about Jet now the real place for information is in the Jet whitepapers. Here are some URLs:
The other place for Jet information is Carl & Gary's VB Home Page. They have a very extensive archive. Also have a look at GUI Computing's Links and Pointers page.