
VistaDB is an embedded SQL database engine that delivers full database management support. It allows software developers using Visual Studio 2005 / 2008 and other .NET development tools to build robust WinForms and ASP.NET database applications using SQL-99 commands or VistaDB's own high-speed Direct Data Access (DDA) data objects. ZeroClick deployment makes distributing your VistaDB embedded applications a breeze with no configuration and no runtime costs.

The VistaDB embedded database engine processes SQL commands and performs low-level reading and writing of data in VistaDB databases. The entire VistaDB engine is contained in a single less than 1 MB fully managed assembly which may be freely deployed with your applications. The engine (i.e. assembly) does not require any special registration or configuration on the end-user machine. 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. We call this ZeroClick deployment since there is no additional files or assemblies to deploy with your application.
Applications built using VistaDB 3 can access data on local drives and on shared network drives (e.g. F:\MyDatabase.VDB3) in both single and multi-user mode. That means multiple users can access the same database and tables concurrent .This type of multi-user data access is often referred to as a "file server" or "peer-to-peer" configuration.
Developers benefit from VistaDB's table and row locking so that applications can lock rows for editing, or lock tables for general file maintenance. The built-in Snapshot Isolation level Transaction Processing helps ensure good data integrity. Developers using VistaDB's DDA technology can manage table and row locks manually. Either way, data can be simultaneously accessed by multiple users.
In a shared network scenario, Windows workstations require additional resources to manage the sharing of the database file, or any file for that matter. Each VistaDB client application running on each Windows workstation must open the entire .VDB3 database file on the shared network drive, which can cause network traffic. This is because the Windows file sharing sub-system is in control of how the file (i.e. database) is open.
The key point to understand is that the first user that accesses the VistaDB database on the shared drive will experience very good performance relative to local desktop access. Windows recognizes that they are the only user of this file and Windows is able to open the database in a type of exclusive mode (The VistaDB open mode settings have no affect on this Windows setting. This is internal to Windows). However, the moment a second user accesses the same database, Windows drops its exclusive mode file access down to a shared mode file access which is magnitudes slower.
Even after the 2nd user closes his connection to the database, and the first user is back to being the only user working on the database, this first users's Windows workstation does not resume exclusive mode file access until the file (i.e. database) is closed and re-opened. The solution is to not keep connections open in this type of environment, open them for the minimum amount of time required (always a good programming practice).
(Much of this content is still under construction from the old documentation system to the new, so please contact us if you have any questions.)