VistaDB Database Engine
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 without a database service. 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. You can even embed it in your application using ILMerge.
- Single managed assembly for both 32- and 64-bit systems
- Broad T-SQL Language Support
- Transaction support
- T-SQL Stored Procedures and UDF support
- Robust single-user and multi-user support
- Fully multi-thread compatible
- Row level and table level locking
- CLR Procedures and Triggers
- FIPS-compliant AES encryption
- Diagnostic logging
- Royalty-free redistribution
It's like SQL Server, but Small Enough for your Phone
SQL Server Compatible T-SQL syntax and Data Types
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.
T-SQL Stored Procedures and User Defined Functions
T-SQL Stored Procedures (SP's) and User Defined Functions (UDF's) 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 T-SQL Procs. When porting from SQL Server it's common to need to adjust the stored procedures to ensure they use the subset of T-SQL VistaDB supports but the resulting implementation will work well with both VistaDB and SQL Server.
Primary Keys, Foreign Keys, Constraints and Indexes support
Relational databases allow data to be stored in normalized order so as to avoid storing redundant information. Support for Primary Key and Foreign indexes lets you define well-designed databases and let VistaDB enforce constraints for you - ensuring when you go to query data you'll get the results you expect.
You can **easily port your existing schema and relationships from SQL Server** using our Database Migration Wizard.
We've worked hard to get VistaDB to be ACID-compliant. Using the same T-SQL commands SQL Server respects you can begin, commit, and abort transactions. VistaDB will also automatically abort a transaction on error - just like SQL Server.
VistaDB provides support for regular and 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 example used in many SQL Server and .NET applications!
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 and because they execute at a low level within VistaDB they have great performance.
Multi-Threaded and Multi-User
VistaDB is optimized for multi-threaded access - where several threads from the same process read and write the database at the same time. VistaDB also supports multiple connections from multiple processes at the same time, so you can share the same database file between multiple copies of your application even run by different users.While VistaDB is not SQL Server - designed for hundreds of users accessing it at the same time - you can handle that small office scenario or an application split into multiple processes.
Built for .NET
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#.
Full support for Xamarin (iOS, Android, and Mac)
Because VistaDB is 100% managed code with no native calls bypassing the .NET Runtime it also includes builds for cross-platform .NET development using Xamarin. While the VistaDB tools are designed for Windows exclusively the VistaDB Engine and other deployable libraries are ready for your cross-platform project!