
Overview
ElevateDB is an embedded SQL database engine that can be compiled directly into your application* and offers local single and multi-user access (file-sharing) and client-server access with the provided ElevateDB server. ElevateDB can switch between these modes of operation quickly, requiring just a few application changes. ElevateDB adheres to a subset of the SQL 2003 standard (ANSI/ISO 9075). Any deviations from the standard are detailed in the SQL reference material provided with the product. Some of the standard features in ElevateDB include:
| Feature | Description |
| Transparent local and client-server access | Local and client-server access is identical in operation, requiring only a few property modifications to switch between the two
|
| Small footprint | Client access code added to a compiled application is minimal, and the ElevateDB server is less than 2 Mb in size
|
| Multi-threaded | Both local and client-server sessions can be multi-threaded in an application
|
| Customization | File signatures, file names, and file extensions, licensed session counts, and encryption passwords in ElevateDB can all be customized
|
| ANSI/Unicode | ElevateDB is available in ANSI (8-bit encoding using the Windows ANSI code pages) or Unicode (16-bit UTF-16 encoding) versions
|
100% managed code under .NET
100% native code under Win32 | ElevateDB does not use any direct pointer access or memory manipulation when running under .NET (VCL.NET support or ADO.NET data provider), making it 100% managed code in that environment, while it also provides 100% native code compilation with Win32 compilers
|
| Source code | ElevateDB was written using Delphi's Object Pascal language, and the source code for ElevateDB is available for purchase as an extra charge
|
| Excellent performance | All SQL queries are optimized using available indexes, expression reduction, and I/O cost optimization, and query plans can be generated to show how a query was optimized and executed
|
| Collations | All standard Windows locales and collations supported on a per-column and per-indexed column basis, including options for case-insensitivity, accent-insensitivity, Kana-insensitivity, and width-insensitivity
|
| In-memory databases | Databases can be created entirely in-memory and can be accessed from multiple threads
|
| Security | User security is standard, but optional, and includes users, roles, and administrative access
|
| Online backup | Databases can be backed up while they are being used
|
| Serialized transactions | Transactions are always serialized and can be isolated to specific tables
|
| Row locking | Both pessimistic and optimistic row locking supported, with options for detecting row changes
|
| Constraints | Check, primary key, unique, and foreign key constraints
|
| Stored procedures and functions | Full SQL/PSM support for stored procedures and functions, including dynamic and DDL statements, structured exception handling, and rich cursor handling
|
| Triggers | Before and after insert, update, and delete triggers with full SQL/PSM support in trigger definitions and conditional execution
|
| Views | Updateable views and constrained views (WITH CHECK OPTION) supported
|
| Jobs | Jobs can be defined and scheduled to run on an ElevateDB server, and servers can be tasked to execute specific job categories
|
| Data types | All standard SQL data types are supported, including date/time intervals
|
| Full text indexing | Any CHAR, VARCHAR, or CLOB column can be indexed by word and searched using CONTAINS operator, and text to be indexed can be filtered according to another type column in the table
|
| NULL handling | Standard SQL NULL behaviors for all data types and operators
|
| Generated columns | Columns can be defined as expressions, and can be indexed and handled like any other column
|
| BLOB columns | Complete BLOB support with per-column compression and configurable block sizes per table
|
| Text import/export | Tables can be imported or exported from delimited text files with options for the formatting of dates, times, numerics, and boolean values as well as the delimiter |
* When using Win32 VCL or .NET VCL.NET compilers. The ODBC driver and ADO.NET data provider cannot be compiled directly into your application.
Development Environments
ElevateDB is can be used with the following development environments with the access methods indicated:
| Environments | Access Method |
| Borland Delphi 5, 6, 7 | VCL
ODBC driver (via ODBC API)
|
| Borland C++Builder 5,6 | VCL
ODBC driver (via ODBC API)
|
| Borland Developer Studio 2005 | Win32 VCL
ODBC driver (via ODBC API)
ODBC.NET data provider (via ODBC driver)
|
| Borland Developer Studio 2006 | Win32 VCL
ODBC driver (via ODBC API)
ODBC.NET data provider (via ODBC driver)
|
| CodeGear RAD Studio 2007 | Win32 VCL
ODBC driver (via ODBC API)
VCL.NET
ODBC.NET data provider (via ODBC driver)
|
| Microsoft Visual Studio 6 | ODBC driver (via ODBCDirect)
|
| Microsoft Visual Studio .NET 2002 | ODBC.NET data provider (via ODBC driver)
|
| Microsoft Visual Studio .NET 2003 | ODBC.NET data provider (via ODBC driver)
|
| Microsoft Visual Studio .NET 2005 | ODBC.NET data provider (via ODBC driver)
ADO.NET data provider (100% managed code)
|
| Microsoft Visual Studio .NET 2008 | ODBC.NET data provider (via ODBC driver)
ADO.NET data provider (100% managed code) |
ElevateDB is provided in component form for the Borland and CodeGear development environments.

Creating an application using ElevateDB and the Borland development environments is as simple as dropping components on to a form or data module and setting some properties using the Object Inspector.

ElevateDB is provided as a standard .NET data provider for the Visual Studio development environments.

Creating an application using ElevateDB and the Visual Studio development environments is as simple as dragging and dropping objects from the Server Explorer on to a DataSet designer surface and setting some properties using the properties grid.

ElevateDB Manager
Included with ElevateDB is the ElevateDB Manager that can be used for interactive access to any ElevateDB database(s).
The main interface of the ElevateDB manager features an explorer tree on the left along with multiple pages on the right that contain object properties and one or more SQL statement and/or script editors.

For users moving to ElevateDB from DBISAM, the Borland Database Engine (BDE), or any ActiveX Data Objects (ADO) data source, there is an easy-to-use migration tool built into the ElevateDB Manager.

Existing databases can be easily reverse-engineered into their source SQL.


Database tables can easily be created or altered.

Database tables can be easily browsed, filtered, and searched.

Stored procedures and functions can be easily defined.

ElevateDB Server
Also included with ElevateDB is the ElevateDB server, which is a multi-threaded database server that can service any remote ElevateDB session across any TCP/IP network, including the Internet.

The ElevateDB server can be run as a Windows service or as a normal application, and comes in interactive and command-line versions.

The ElevateDB server can be configured to bind only to a specifc IP address and port, as well as accepting only encrypted connections or connections from specific IP addresses.

| |
|
| |