Accuracer Database System is a Windows / Linux cross-platform BDE alternative embedded Delphi database with SQL support for software developers working in the Embarcadero RAD Studio, Borland (CodeGear) Delphi / C++Builder and Borland Kylix .
Accuracer represents the next generation of our Delphi databases products line which started more than 10 years ago with such highly famous and respected product as EasyTable. Accuracer Database System products line includes several independent DBMS products for working with the databases in Accuracer format:
- Accuracer VCL - general package for software development in Delphi / C++Builder;
- Accuracer CLX - general package for Kylix;
- Accuracer Database Server - server application that is the part of Accuracer VCL (CS Std and CS Pro editions);
- Accuracer Utilities - package includes utilities with full source code;
- Accuracer ODBC Driver - ODBC version for Windows;
- Accuracer Bold DB Adapter - support for Borland Bold for Delphi , a usefull tool for data import/export;
- Accuracer Data Provider for Fast Query Builder - for visual query building;
- Accuracer Database Connection for Easy Query - for visual query building;
- Accuracer Data Provider for Active Query Builder - for visual query building using Active Query Builder.
Accuracer VCL/CLX includes a new original BDE alternative database engine which supports the almost all TTable, TQuery, TDatabase, TSession, TBatchMove functions and provides some special ones to give you high functionality and ease of use.
Accuracer is currently available for the Borland Delphi, C++Builder and Kylix development environments in Single-User (SU), Multi-User (MU) and Client/Server (CS) versions.
Client/server database engine with server component and custom messages
Easy-to-use multi-user (file-server) database engine
Storing all tables inside the single database file
Embedded database: no BDE, no DLLs
SQL'92 DML & DDL enhanced support with advanced statements
Correlated subqueries support in SELECT, UPDATE and DELETE SQL statements
SQL stored procedures and functions support
Referential Integrity support (SQL'99 compliance)
100% Unicode support - SQL, filters, database objects names
Easy-to-use changes detection and write failures detection
Fully compatible with standard DB-aware controls
IProvider Support (ClientDataset)
Small footprint and low memory usage
In-Memory tables support for the fastest data access
Varchar and BLOB field types with optional data compression
Strong database encryption with wide variety of algorithms and modes
Transactions support with READ COMMITTED isolation level
Reverse engineering (tables to SQL script export)
Backup and Restore support
Triggers - database and server events
Full Views support
Capability of database embedding inside the executable file
ODBC Driver available
Windows / Linux cross-platform database engine
Native Delphi database, full source code available
Ideal as BDE replacement - does not require any .dll and includes data transfer utility.
Accuracer is the unique product: there is no more client-server single-file database on the Delphi / C++Builder / Kylix third-party components market now.
Short compiled code with approximate size 1200 KB, BDE replacement embedded database, no DLLs, no external drivers (such as BDE) required.
Accuracer supports storing multiple tables inside the single database file or even inside the executable file.
Small memory consumption by Accuracer database engine.
Fast Varchar and BLOB data compression. Your large data fields will need the less possible disk space. Accuracer compresses data on the fly. The data packing / unpacking process is not appreciable compared to the disk write / read process. The compression routines used in the Accuracer are much faster than most of popular archivers like PKZip, WinRar, Arj.
Accuracer automatically reduces the size of the database file in case of deleting data from the end of file.
Fast search by B-tree indexes. At the moment Accuracer is one of the fastest existing single-file databases for Delphi, C++ Builder and Kylix.
Transactions support enables you to increase the performance. Even reading records works much faster inside the transaction. Read Transactions chapter in Developer's Guide to learn details.
In-memory mode assigned to speeding up the working process in case when all the data may be stored in RAM.
High-speed memory operations performance is achieved by means of using a custom memory manager and specially optimized algorithms.
Advanced SQL optimizer often makes query execution several times faster by choosing the best execution plan.
Scalability: from single-user (SU) mode with no concurrent write access up to thousands users multi-user mode, zero-administration file-server (MU), or even client/server (CS).
A subset of SQL'92 DML & DDL operators enhanced by advanced statements are supported by TACRQuery component. With Accuracer you can create SQL scripts for creating databases and tables, inserting, editing and deleting records, retrieving data by SELECT command. See full list of supported commands.
Correlated subqueries are supported in SELECT, UPDATE and DELETE SQL statements.
Stored procedures and functions are supported - both using TACRQuery and TACRDatabase. The script language is the combination of SQL and Pascal.
100% Unicode support - SQL, Filters, Expressions, database objects' names (stored functions, tables, indexes, foreign keys), database file names.
Most of TTable functions are supported including Key and Range methods.
Advanced search engine. Accuracer supports 'LIKE' operator with wildcards '%' and '_', as well as 'IS NULL' and 'IS NOT NULL' in filters and queries.
Single file format. Multiple tables can be stored inside the single database file.
Support for executable databases. Database file can be integrated into the executable file of application. Thus you can distribute only single executable file and either use database in read-only mode (OS locks executable file when application starts) or copy it to any directory and use in any access mode. Database file can be linked to the application file by calling MakeEXEDatabase, tested by IsAccuracerDatabaseFile, and extracted by RemoveDatabaseFromExe functions of TACRDatabase component.
Full multiple index support, i.e. numerous fields in a table may comprise an index. Accuracer provides descending and ascending indexes, case-sensitive and insensitive indexes for string fields.
Shareable in-memory tables. Accuracer supports simultaneous access to a table by multiple TACRTable components within a single application.
Reverse engineering (table or database to SQL script export) capabilities enables you to build SQL script to create your table or whole database and insert all existing data.
Backup and Restore support. You can easily backup and restore your database using build-in data compression to reduse disk space usage as well as using strong encryption to prevent unauthorized access to your backup copy.
Triggers - database and server events.
Default values support.
Record-level constraints, i.e. constraints that must be met when editing the data.
Referential integrity SQL-99 compliance - foreign keys support.
Advanced Client-Server Features.
Visual Query Building. With Accuracer you can use a visual query builder for handy visual creation of database queries even without knowledge of SQL!
Advanced Data Import/Export capabilities for groups of records, tables, or the whole database.
Most of TTable, TQuery, TDatabase, TSession and TBatchMove properties, methods and events are supported.
Accuracer supports almost all of TTable field data types, including BLOB fields, moreover it allows to create string and wide string fields of any fixed as well as variable length.
Accuracer is fully compatible with standard DB-aware visual controls such as QuickReport, DBGrid, DBNavigator, DBImage, DBMemo, DBRichEdit, as well as with third party products supporting TDataset descendant components - FastReport, DBFlyTreeView and others.
IProvider interface support. You can access TACRTable and TACRQuery components via TClientDataset.
Calculated and lookup fields can be used in the same way as TTable.
Accuracer provides encryption of the entire database contents using strong encryption algorithms.
Wide choice of encryption algotithms:
- Rijndael, the Advanced Encryption Standard (AES) winner, 128 bit key
- Rijndael, 256 bit key
- Blowfish, 448 bit key
- Twofish, 128 bit key
- Twofish, 256 bit key
- Single DES 8 byte Blocksize, 8 byte Keysize 56 bits relevant
- Double DES 8 byte Blocksize, 16 byte Keysize 112 bits relevant
- Double DES 16 byte Blocksize, 16 byte Keysize 112 bits relevant
- Triple DES 8 byte Blocksize, 24 byte Keysize 168 bits relevant
- Triple DES 16 byte Blocksize, 24 byte Keysize 168 bits relevant
- Triple DES 24 byte Blocksize, 24 byte Keysize 168 bits relevant
You can use one of the best existing symmetric block ciphers tested by the best cryptography experts to achieve so fast speed and strong encryption as you need.
Four different encryption modes: CTS, CBC, CFB, OFB.
Two different encryption schemes. You can use a password as well as an encryption key itself to protect your database. Accuracer has the best encryption functionality among all known Delphi database systems.
Advanced methods in TACRDatabase component IsDatabaseEncyrpted, IsDatabaseEncyrptedByPassword, and IsCryptoParamsValid allow safe detection of database encryption.
Transactions support enables you to increase reliability. If some failure will occurs duing the transaction processing all modifications will be lost and database will be in the same state as before starting the transaction.
Accuracer provides two alternative possibilities to repair tables and databases in case of hardware failure or operating system error caused by another application.
Accuracer supports changes detection and write failures detection using table states (TACRTable.GetTableState method or GET TABLES SQL statement).
Accuracer works with large databases (millions records and gigabytes of data).
Cost-effectiveness: royalty-free (you may develop any number of applications for any number of users using this product without additional fees); a large number of licenses (SU / MU / CS versions, source code and non-source code editions, multi-developers licenses). Also look at price comparison matrix.
Easy switching between single-user, file-server and client/server modes.
Ease of deployment: no BDE, no DLLs; no special installation and configuration required.
Ease of development: compatibility with standard database data access components (TTable, TQuery, TDatabase, TSession, TBatchMove), database data controls (DBGrid, DBNavigator, DBImage, DBMemo, DBRichEdit, etc.), third-party components (like QuickReport, FastReport, DBFlyTreeView, etc.); almost all standard and advanced field data types.
Prompt and responsive technical support by e-mail.
Usage examples. There are about 50 demos for Delphi / C++ Builder / Kylix in Accuracer distribution package. Utilities include full source code.
Comprehensive help. Accuracer comes with full documentation presented in Accuracer Developer's Guide and Accuracer Component Reference.
Table restructuring is being performed in the easiest way keeping all the existing data.
Data importing from and exporting to any data source is supported. Accuracer provides you with the simplest way to import and export of tables using ImportTable and ExportTable methods.
TACRBatchMove component, which works in the same manner as TBatchMove and supports almost all of its functionality, performs database operations on groups of records or entire tables.
Internationalization / localization support. All text search and sorting functions use current system locale, so localizing your program with Accuracer is a very simple task.
Unicode support. All the text operations work with multi-byte encoding using ftWideString.
Displaying progress during potentially slow operations with the tables and databases is supported.
Transactions provide you an adiitional convenience of work.
Accuracer Manager helps you manage a database easily. This powerful tool allows you to perform any supported operations with Accuracer tables and databases.
Accuracer Database Server utility (in client/server version only). Flexible database administrator and server management tool.
DBTransfer utility will help you transfer your existing tables from database systems with BDE driver, such as Paradox, Interbase, Access, Oracle, SQL Server to Accuracer database and vice versa.
ACR4Convert utility is needed to convert old Accuracer 1-4 database to new Accuracer v.5.
Converter utility helps you to convert your existing databases from EasyTable to new Accuracer Database System format.
SQL Console provides you an easy way of executing SQL queries. You can load and run demo queries supplied with it or create your own scripts and save them to a text file.
AccuracerBackup and AccuracerRestore help you to organize backup-restore process and give you an example to add backup/restore functionality to your apps.
All utilities include full source code that can be used as advanced examples.