Getting Ready for VistaDB 5: Compatibility Changes
As with any major release of a product there are a few changes to how VistaDB works with other components. Many things are not changing; our goal was to ensure that if you were using VistaDB 4, you could upgrade to VistaDB5 with a minimum of fuss. In particular:
- .NET 2.0 SP1 and Later Supported: We continue to support .NET 2.0 for the VistaDB Engine and our ASP.NET Web Site providers.
- Legacy VistaDB SQL Quirks Supported: While we’ve enhanced our compatibility with SQL Server’s T-SQL dialect we continue to support historical VistaDB syntax as well.
Still, we knew there were going to be some cases where just recompiling your code wouldn’t cut it. The key changes are:
- Visual Studio 2010 through 2013 Supported: As of VistaDB 5, we will no longer integrate with Visual Studio 2008 but are adding Visual Studio 2013.
- Entity Framework 4.0 through 6.0 Supported: Entity Framework 1.0 support is discontinued and 6.0 support has been added.
- .NET 4.0 required for Development Tools: The various tools used to develop with VistaDB, such as DataBuilder and the Data Migration Wizard, now require .NET 4.0 be installed instead of .NET 2.0.
- New File Format: VistaDB 5 uses a new file storage format which requires upgrading older databases using the same built-in mechanism VistaDB 4 used.
Visual Studio Integration
VistaDB has offered two different development experiences for some time – one integrated into Visual Studio and the other based around DataBuilder. May developers use both at different times to suit their needs. It has been the tradition of VistaDB to support the current version of Visual Studio plus the previous major release. For VistaDB 5 this means we are discontinuing support for Visual Studio 2008 but adding Visual Studio 2013. This allows us to support three releases of Visual Studio which is feasible largely because of the common API support they all share.
Dropping Visual Studio 2008 has allowed us to use .NET 4.0 for our extension which is important for changes not just in this release but coming in VistaDB 5.5.
Even though support for Visual Studio 2008 is being discontinued you can still use VistaDB 5 with VS 2008 if you aren’t using any of the designer integration features – like the extensions to the Server Explorer view in Visual Studio. For example, our Loupe product has used VistaDB for years and doesn’t rely on the extension for any of its capabilities so it would be unaffected by this change.
Side by Side with VistaDB 4
You will be able to have both VistaDB 4 and VistaDB 5 installed on the same computer and both integrated with Visual Studio so you can have both sets of extensions active at the same time.
Entity Framework Support
VistaDB 5 introduces two builds of the core engine – one for .NET 2.0 through 3.5 and the other for .NET 4.0. To reduce the number of assemblies that we and you have to manage as well as to let us take advantage of improvements in .NET 4.0 we are not going to support Entity Framework except using our new .NET 4.0. Engine. This means that EF 1.0 which shipped in .NET 3.5 will no longer be supported.
Entity Framework 6.0 introduced a new provider model which is supported in VistaDB 5, but only on the .NET 4.0 version of the database engine. This means that Entity Framework is supported for .NET 4.0 and higher applications using EF 4.0 and higher.
.NET 4.0 required for Development Tools
We’ve seen a notable increase in the number of support cases related to attempting to do VistaDB 4 development on a computer without .NET 2.0 installed. This is now often the norm, not the exception. Additionally, third party control vendors that we use with DataBuilder have discontinued support for .NET 3.5 and older. Accordingly, this was the sensible time to move all of our tooling form .NET 2.0 to .NET 4.0. This will allow us to keep this requirement constant for VistaDB 5.5 as well which is sure to require .NET 4.0 features.
This does not affect the runtime you deploy to – you can still use VistaDB 5 with .NET 2.0 SP1 applications by using the version of the VistaDB engine that targets .NET 2.0. This limitation applies just to the development tools which, with the exception of the Data Migration Wizard, are not redistributable.
Database File Compatibility
To enable new features in VistaDB 5 such as new data types and updated encryption the file format has been changed. This means VistaDB 5 databases can only be read by the VistaDB 5 engine.
Upgrading your database from VistaDB 4 or VistaDB 3 to version 5 is done automatically during a Pack operation, just like the upgrade from 3 to 4 was handled under VistaDB 4. As an added bonus VistaDB 5 can open and query VistaDB 4 databases in read-only mode without requiring that they are upgraded. This will let you do query testing with VistaDB 5 before you’re committed to the upgrade path and make it easier to support your customers who may still be using older versions of the engine without requiring multiple versions of the tools on your computer.
If you have an encrypted database upgrading it to VistaDB 5 will migrate the encryption to our new, FIPS-compliant format which has much better performance than the older encryption system (and is a higher standard of encryption). True FIPS-compliant encryption will require using the .NET 4.0 version of the engine due to limitations in the .NET runtime prior to 4.0.
Other Questions about Upgrading
We’ll have a future blog article talking about how to upgrade to VistaDB 5, running VistaDB 5 and VistaDB 4 in the same application (you can!), and mixed-runtime projects (using .NET 2.0 and .NET 4.0). We’re aiming for the widest array of options for you so that you can upgrade to VistaDB 5 as quickly as possible.