VistaDB 6
VistaDB / Getting Started / Getting Started - Migrating From Microsoft SQL Server
Getting Started - Migrating From Microsoft SQL Server

VistaDB is designed to be a drop-in substitute for Microsoft SQL Server for a .NET application.  If an application was developed to be data-provider agnostic then it's quite simple to switch between SQL Server and VistaDB.  The best approach for an existing application using SQL Server is to make the necessary changes so that it can work with both SQL Server and VistaDB.  This lets you use VistaDB for scenarios where ease of deployment is more important than scalability.

 Step One: Migrate SQL Server Database to VistaDB

Use the Data Migration Wizard to create a VistaDB database from a reference SQL Server database.  The migrated database will have the tables, indexes, views, functions, and stored procedures from the reference SQL database as well as all of the data.  This step will identify any problems at the schema level.

As you migrate the schema you will have the opportunity to review stored procedures and functions for any compatibility issues with VistaDB.  Since VistaDB supports a subset of TSQL you may need to make changes to them to find an implementation that is supported both by VistaDB and SQL Server.  Some examples of compatibility issues are listed in Differences from SQL Server.  In most cases only a slight adjustment to your preferred stored procedure patterns will be necessary to find an implementation that will work with both VistaDB and SQL Server.

 Step Two: Add VistaDB to your Project

To work directly with VistaDB through ADO.NET you will need to register the VistaDB Engine as an ADO.NET provider and likely add a reference to the same assembly in your project for when you need to directly use VistaDB objects or types.  To do this, review Deploying VistaDB with your Application for the correct files and configuration entries.

 Step Three: Migrate ADO.NET Code

Even though ADO.NET was designed to be database-agnostic, most developers and sample applications use provider-specific objects in their implementations.  These should be converted to their common equivalents and the code adjusted to use ADO.NET Data Factories.  For more information see Getting Started - Migrating From SQL Server - ADO.NET Code.

See Also