VistaDB Database Engine Features

VistaDB: Easy-to-Deploy, SQL-Compatible, Pure .NET

The VistaDB engine is a small managed assembly you deploy with your applications that delivers full database management support in a serverless design. It efficiently processes SQL commands and performs low-level reading and writing of data in VistaDB databases. Each database is stored as a single file.

The engine (i.e. assembly) does not require any special registration or configuration on the end-user machine (zero config). It can be placed in the same directory as your applications or it can be installed to the GAC. Another way to deploy the VistaDB is to fully embed it into your EXE using Microsoft ILMerge allowing your complete application to be deployed as a single file.

Features

Summary

  • Single managed assembly for both 32- and 64-bit systems
  • Robust single-user and multi-user support
  • Fully multi-thread compatible
  • Row level and table level locking
  • Transaction support
  • TSQL Stored Procedures and UDF support
  • CLR Procedures and Triggers
  • Full Text Search
  • FIPS-compliant AES encryption
  • Diagnostic logging
  • Royalty-free redistribution

Visual Studio 2013 / 2012 / 2010 Server Explorer support

VistaDB is integrated tightly into the Visual Studio 2013 / 2012 / 2010 IDE. Support for Visual Studio's Server Explorer means you can connect to and use VistaDB databases as you would SQL Server. Version 5 includes the ability to create databases, create and alter tables, indexes and views all within Visual Studio. Direct launch of the Data Builder from within Visual Studio is also supported.

New templates have been added in for Visual Studio to allow you to create new database projects even faster. The templates copy the runtime to the bin folder, and even create the app.config or web.config for your application.

SQL Server compatible data types and T-SQL syntax

VistaDB is highly compatible with SQL Server data types and supports T-SQL syntax so developers can easily re-use existing code developed for SQL Server with minimal changes. This new level of compatibility lets developers move between SQL Server and VistaDB with ease.

Fully managed and typesafe C# architecture

To maximize integration with the .NET Framework VistaDB was designed and developed from scratch using C#. The core database engine, the T-SQL compatible query processor, the ADO.NET Data Provider, the Direct Data Access™ objects and the data management tools are all developed in fully managed and typesafe C#.

ASP.NET Membership Provider, Role Provider and Profile Provider

VistaDB.Web.dll includes providers and an ASP.NET wizard to add required tables to existing database, or to modify structures from SQL Server migrated database.

A new Visual Studio template also makes adding them to your project easier than ever.

Native support for Mono

VistaDB is 100% managed code. Since we have no dll imports or unsafe calls we can run on Mono where the platform supports all required classes. There are a few open issues with some of the classes in Mono, and the WinForms support is not quite there yet (but they have improved a lot).

Many of our customers ship VistaDB with Mono for cross platform support. Graffiti CMS, BlogEngine.net and many others are shipping products today cross platform thanks to Mono and VistaDB.  

We suggest you test your product with your target platform to see if Mono fully supports everything you need.  We do not provide technical support for Mono installations or deployments. 

TSQL Procs and User Defined Functions

TSQL Procs and UDFs allow you to migrate existing SQL Server procedures to VistaDB with minimal effort.  VistaDB is the world's first non Microsoft product to support SQL Server compatible TSQL Procs.  There are limitations, and some syntax is not supported.  Read the help file for more information.

Support for Views

VistaDB provides support for updatable Views. You can write SQL statements to create virtual views of data from one or more tables. With this feature, we now supports a full migration of the ubiquitous Northwind database.  Views are not the same performance as an actual SQL Query.  They are considered virtual tables that have to be created for the query to be run.

Managed CLR Procs and CLR Triggers

CLR Procs let you create and store managed procedures using C# or VB.NET into assemblies that can be registered with your VistaDB databases. Once created, you can call your custom CLR Procs from your application to perform various data management tasks. CLR Procs are more powerful than traditional stored procedures since your code has access to the entire .NET framework

Primary Key and Foreign Key support

Relational databases allow data to be stored in normalized order so as to avoid storing redundent information. Support for Primary Key and Foreign indexes lets you define well-designed databases.

Going Deeper

Additional details about the VistaDB engine can be found in our product documentation: