Elevate Software

Login Login


Home  Products  DBISAM for Java, C/C++, or Other Database Developers

Icon DBISAM for Java, C/C++, or Other Database Developers

ImageThe DBISAM ODBC Driver is contained within a single DLL with no external libraries required. It can be used with Visual Studio 6 using the ODBCDirect access layer, and with Visual Studio .Net 2005 or higher with the ODBC.NET Data Provider.

The DBISAM ODBC Driver contains an easy-to-use configuration wizard for creating and modifying user and system data sources, and also supports direct driver connections using a connection string.

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.
BDE Database Transfer UtilityThis utility allows the developer or end user to transfer any BDE-accessible table(s) to DBISAM format with a few clicks of the mouse. BDE aliases as well as normal directories are supported as the source for transfers, making it easy to transfer an entire database with little or no effort.

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.

Table Format Features
ImageThe default maximum file size in DBISAM is 4 gigabytes. You can enable extended support for files up to 128 gigabytes. However, this is only currently available for Windows only. 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.
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 Support
DBISAM includes a subset of the SQL-92 standard, including a query optimizer, live and canned result sets, parameterized queries, scripts, and extended SQL syntax for DBISAM-specific features.

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 simple change to a connection string. 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.

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 Java, C/C++, or any other environment that can use ODBC for data access, and evaluate the product before your purchase.

Download Now

Supported Versions Supported Versions

Java (with Java-ODBC Bridge Driver)
PHP (using PHP-ODBC functionality)
C/C++ (using ODBC SDK)
Any development environment with ODBC access, such as Microsoft Access, Powerbuilder, and Alpha 5