Elevate Software

Login Login


Home  Products  DBISAM for Delphi and C++Builder Database Developers

Icon DBISAM for Delphi and C++Builder Database Developers

ImageDBISAM compiles directly into your application with no external libraries required. Runtime package support is also provided if so desired. It has a very small footprint and does not require any forms support in Delphi 6 and C++Builder 6 and higher, which helps keep the size of non-UI applications like services or web applications to a minimum.

DBISAM is available for Delphi, C++Builder, Borland Developer Studio, CodeGear RAD Studio, and Embarcadero RAD Studio. TDBISAMEngine, TDBISAMSession, TDBISAMDatabase, TDBISAMTable, and TDBISAMQuery components are provided for all of these versions of Delphi, C++Builder, Borland Developer Studio, CodeGear RAD Studio, and Embarcadero RAD Studio.

The complete source code for all utilities provided, and source code for DBISAM itself is available for an additional charge.

The utilities provided with DBISAM are:

Database System UtilityThis utility allows the developer or end user to create, browse, update, restructure, search, query, and print DBISAM tables from a convenient and easy-to-use interface.
Server Administration UtilityThis utility allows the developer or end user to administer a DBISAM database server from a convenient and easy-to-use interface. This utility can modify server configuration data, users, databases, and user rights as well as retrieve server log information. All functions are subject to having administrator rights on the database server being administered and access can be controlled on a per-user basis.

Engine Features
ImageDBISAM can be used as a single-user, multi-user, or client-server engine.

DBISAM does not pre-allocate large blocks of memory and uses, by default, a very small 128k of memory for each physical table in a session that contains BLOB fields and 96k for each physical table in a session that does not contain BLOB fields - 32k for records, 64k for indexes, and 32k for BLOBs (if present). These figures can be adjusted in the engine to allow for more memory consumption, if so desired. It uses a LRU cache management algorithm that also includes intelligent read-ahead buffering, optimized, serialized writes, and support for read-only devices like CD-ROMs with optimized buffering.

Automatic record locking and manual table locking is provided in DBISAM. Record locking can be configured to be pessmistic (default) or optimistic.

DBISAM offers transaction support in the form of buffered, serialized transactions that allow tables to survive unexpected client workstation power-downs with little, or in most cases, no data corruption. They are not, however, completely fail-safe.

DBISAM includes automatic change detection with a change detection policy that can be configured as "lazy" or "strict" on a per-session basis. This allows you to specify how current data should be when it is accessed by the application.

The in-memory tables in DBISAM are identical to disk-based tables and can be shared among multiple threads in the same application. You can create and use both local in-memory tables, which are stored in the client application's memory, or remote in-memory tables, which are stored in the database server's memory. In-memory tables can be used in SQL and can be mixed with disk-based tables.

DBISAM supports cached updates on a single table or query result set, with complete reconciliation control during application of the cached updates in order to handle possible errors. DBISAM also includes IProvider support that makes it ideal for use with the standard TClientDataSet component.

The DBISAM engine, represented by the TDBISAMEngine component, is highly customizable. Triggers, server-side procedures, scheduled events, custom SQL and filter functions, and custom engine signatures can be added and modified via the engine. However, server-side procedures and scheduled events are only available when the engine is acting as a database server. Triggers allow you to add code that is executed before or after any insert, update, or delete. Custom SQL and filter functions can be used to add complex functions to the SQL and filter grammar, thus enabling you to reduce the complexity of your SQL and filter expressions. Custom engine signatures can be used to "sign" all tables, streams, backups, and remote database server request and responses with a unique stamp so that only your application can access these resources.

Table Format Features
ImageThe default maximum file size in DBISAM is 128GB . DBISAM uses up to 3 physical files per logical table. All free space in DBISAM tables is automatically recycled. In addition, any free space can be removed from a table immediately by optimizing the table. DBISAM uses fixed-length record sizes and variable index page and BLOB block sizes. When creating or altering tables, some of the most useful feature include:

Table FeatureDescription
Data typesThe most common data types (including BCD, BLOB, GUID, and auto-increment) are supported in DBISAM tables, and complete and accurate NULL support is provided for all data types.
EncryptionTables can be encrypted using strong encryption.
International localesTables can be assigned a locale in order to control how sorting occurs in indexes as well as any searching or filtering done on the table via filters or SQL. However, currently this support is only available for Windows only.
Configurable index page and BLOB block sizesBoth index pages and BLOB block sizes can be configured to optimize access and storage requirements.
User-defined versioningTables can be assigned major and minor version numbers, which allows for easy structure version checking and updating.
Long field names and field and table descriptionsField names can be quite long, and descriptions can be specified for tables and fields for reference purposes.
Min, max, and required constraints, default values, and character-case specifiers for fieldsSimple expression constraints can be assigned to fields, and default values can be assigned automatically for NULL fields when records are added. Also, you can specify that a field be forced to upper or lower case whenever that field is modified.
BLOB compressionBLOB fields can be compressed to save space, and the compression is transparent once it is enabled.
Primary and secondary indexesTables can contain primary and secondary indexes that have case-insensitive, descending, and unique attributes, including mixed ascending/descending key fields.
Configurable index key compressionIndex key compression can be enabled to greatly reduce the size of indexes and optimize access.
Full text indexingFull text indexing is can be specified for any string or memo fields in a table along with stop words, space characters, and include characters to control how the indexing occurs.

SQL and Filter Support
DBISAM includes a subset of the SQL-92 standard, including a query optimizer, query plans, live and canned result sets, parameterized queries, query progress events, scripts, and extended SQL syntax for DBISAM-specific features.

Also, complete expression filter support is provided, including a filter optimizer, and filters use the same syntax as SQL expressions, even extended operators such as LIKE and BETWEEN and functions.

Client-Server Access
ImageDBISAM includes support for remote client-server access to a DBISAM database server. You can switch between local or multi-user usage and client-server usage with just a few property changes. Remote sessions include support for keep-alive pinging or the ability to maintain sessions that can survive connection interruptions, complete with dead session management for sessions that will never be reconnected due to a fatal client problem. Connection timeouts for remote sessions can be adjusted, and an event is fired whenever DBISAM is about to disconnect a remote session due to inactivity.

Remote sessions can be configured to use compression and strong encryption when accessing a DBISAM database server. Compression can be adjusted on-the-fly while a session is active.

Activity tracing is available so that you may monitor all requests and responses for a given remote session. This is useful both for performance optimizations and for audit logging purposes.

DBISAM provides full local and remote administration capabilities. Databases can be backed up and restored manually or within scheduled events that automatically run at specified intervals. In fact, any administrative function can be run using a scheduled event.

DBISAM includes table creation and structure alteration, table verification and repair, table optimization, and import and export functionality. All of this functionality comes complete with progress, data conversion error, and log events to ensure that their execution can be customized and reported upon.

Ordering is fast, easy, and secure, and you can be installing DBISAM within the hour.

Order Now

Trial Version Trial Version

You can download a trial version of DBISAM for Delphi or C++Builder and evaluate the product before your purchase.

Download Now

Supported Versions Supported Versions

Borland Delphi 5, 6, 7
Borland C++Builder 5, 6
Borland Developer Studio 2005, 2006
CodeGear RAD Studio 2007, 2009
Embarcadero RAD Studio 2010 and higher