Accuracer是具有SQL功能的最强大的嵌入式数据库!具有用于Delphi,C++Builder,Kylix和ODBC的SQL的高性能单文件多用户数据库 Accuracer是具有SQL支持的快速单文件多用户和客户端-服务器数据库系统。具有单文件数据库、多用户和多线程访问、客户端服务器引擎、无BDE、没有DLL;简单易用、包含完整源代码,以及引用完整性支持(符合SQL'99)、反向工程(将表导出到SQL脚本)、与标准的DB感知控件100%兼容、BLOB和Varchar支持(可选压缩)、内存表支持(包括SQL和DDL)、BatchMove组件、对数据库文件(AES,Blowfish,Twofish,DES等)进行高度加密、备份还原、触发器-数据库和服务器事件、提供ODBC驱动程序等特点,本次带来最新版下载,有需要的朋友不要错过了!
-单元测试技术(无bug复出)
软件功能
1、紧凑
简短的已编译代码,大小约为1200 KB,可替换BDE嵌入式数据库,无需DLL,不需要外部驱动程序(例如BDE)。
Accuracer支持将多个表存储在单个数据库文件 内甚至可执行文件内。
Accuracer数据库引擎消耗的内存少。
快速的Varchar和BLOB 数据压缩。您的大数据字段将需要较少的磁盘空间。Accuracer可以即时压缩数据。与磁盘写入/读取过程相比,数据打包/解压缩过程不明显。Accuracer中使用的压缩例程比PKZip,WinRar和Arj等大多数流行的存档器快得多。
如果从文件末尾删除数据,Accuracer会自动减小数据库文件的大小。
2、高性能
通过B树索引快速搜索。目前,Accuracer是Delphi,C ++ Builder和Kylix最快的现有单文件数据库之一。
事务支持使您可以提高性能。甚至读取记录在事务内部的工作速度也要快得多。阅读开发人员指南中的“交易”一章以了解详细信息。
在内存模式下,如果所有数据都可以存储在RAM中,则可以加快工作过程。
通过使用自定义内存管理器和特别优化的算法,可以实现高速内存操作性能。
高级SQL优化器通常通过选择最佳执行计划,使查询执行速度提高数倍。
3、功能性
可扩展性:从无并发写访问权限的单用户(SU)模式到数千个用户的多用户模式,零管理文件服务器(MU)甚至客户端/服务器(CS)。
TACRQuery组件支持通过高级语句增强的SQL'92 DML和DDL运算符的子集。使用Accuracer,您可以创建SQL脚本,用于创建数据库和表,插入,编辑和删除记录,通过SELECT命令检索数据。请参阅支持的命令的完整列表。
SELECT,UPDATE和DELETE SQL语句支持相关的子查询。
支持存储过程和功能 -都使用TACRQuery和TACRDatabase。脚本语言是SQL和Pascal的组合。
100%Unicode支持 -SQL,过滤器,表达式,数据库对象的名称(存储的函数,表,索引,外键),数据库文件名。
支持大多数TTable函数,包括Key和Range方法。
先进的搜索引擎。Accuracer支持通配符为'%'和'_'的'LIKE'运算符,以及过滤器和查询中的'IS NULL'和'IS NOT NULL'。
单一文件格式。多个表可以存储在单个数据库文件中。
支持可执行数据库。数据库文件可以集成到应用程序的可执行文件中。因此,您只能分发单个可执行文件,并且可以以只读模式使用数据库(在应用程序启动时OS锁定可执行文件),也可以将其复制到任何目录并以任何访问模式使用。可以通过调用MakeEXEDatabase将数据库文件链接到应用程序文件,该文件由IsAccuracerDatabaseFile测试,并由TACRDatabase组件的RemoveDatabaseFromExe函数提取。
完全多索引支持,即表中的多个字段可以包含一个索引。Accuracer为字符串字段提供降序和升序索引,区分大小写和不区分大小写的索引。
可共享的内存表。Accuracer支持单个应用程序中的多个TACRTable组件同时访问表。
逆向工程(表或数据库到SQL脚本的导出)功能使您能够构建SQL脚本来创建表或整个数据库并插入所有现有数据。
备份和还原支持。您可以使用内置数据压缩功能轻松地备份和还原数据库,以重新使用磁盘空间,还可以使用强大的加密功能来防止未经授权访问您的备份副本。
触发器 -数据库和服务器事件。
默认值支持。
记录级约束,即编辑数据时必须满足的约束。
参照完整性 SQL-99兼容性- 外键支持。
先进的客户端-服务器功能。
可视化查询构建。使用Accuracer,即使没有SQL知识,也可以使用可视化查询构建器方便地可视化创建数据库查询!
用于记录,表或整个数据库组的高级 数据导入/导出功能。
4、兼容性
支持大多数TTable,TQuery,TDatabase,TSession和TBatchMove属性,方法和事件。
Accuracer支持几乎所有的TTable字段数据类型,包括BLOB字段,而且它允许创建任何固定长度和可变长度的字符串和宽字符串字段。
Accuracer 与标准的支持DB的可视控件(如QuickReport,DBGrid,DBNavigator,DBImage,DBMemo,DBRichEdit)以及与支持TDataset后代组件(FastReport,DBFlyTreeView等)的第三方产品完全兼容。
IProvider接口支持。您可以通过TClientDataset访问TACRTable和TACRQuery组件。
可以使用与TTable相同的方式来使用计算字段和查找字段。
5、安全
Accuracer使用强大的加密算法对整个数据库内容进行加密。
多种加密算法可供选择:
-Rijndael,高级加密标准(AES)赢家,128位密钥
-Rijndael,256位密钥
-Blowfish,448位密钥
-Twofish,128位密钥
-Twofish,256位密钥
-正方形
-单DES 8字节块大小,8字节密钥大小56位相关
-双DES 8字节块大小,16字节密钥大小112位相关
-双DES 16字节块大小,16字节密钥大小112位相关
-三重DES 8字节块大小,24字节密钥大小168位相关
-三重DES 16字节块大小,24字节密钥大小168位相关
-三重DES 24字节块大小,24字节密钥大小168位相关
您可以使用由最好的密码学专家测试的最好的现有对称块密码之一,以实现所需的如此快速和强大的加密。
四种不同的加密模式:CTS,CBC,CFB,OFB。
两种不同的加密方案。您可以使用密码以及加密密钥本身来保护数据库。在所有已知的Delphi数据库系统中,Accuracer具有最好的加密功能。
TACRDatabase组件IsDatabaseEncyrpted,IsDatabaseEncyrptedByPassword和IsCryptoParamsValid中的高级方法允许安全检测数据库加密。
6、可靠性
事务支持使您可以提高可靠性。如果在事务处理期间发生某些故障,所有修改将丢失,并且数据库将与开始事务处理之前处于相同状态。
在由另一个应用程序引起的硬件故障或操作系统错误的情况下,Accuracer提供了两种替代方法来修复表和数据库。
Accuracer支持使用表状态(TACRTable.GetTableState方法或GET TABLES SQL语句)进行更改检测和写入失败检测。
Accuracer可处理大型数据库(数百万条记录和千兆字节的数据)。
7、方便
成本效益:免版税(您可以为使用此产品的任何用户开发任何数量的应用程序,而无需支付额外费用);大量许可证(SU / MU / CS版本,源代码和非源代码版本,多开发者许可证)。还要看价格比较矩阵。
在单用户,文件服务器和客户端/服务器模式之间轻松切换。
易于部署:无BDE,无DLL;无需特殊的安装和配置。
易于开发: 兼容性标准数据库的数据访问组件(的TTable,TQuery的,TDatabase的,TSession,TBatchMove),数据库数据对照(DBGrid中,的DBNavigator,数据库图像,数据库备注,DBRichEdit等),第三方组件(如QuickReport,FastReport的,DBFlyTreeView等);几乎所有标准和高级字段数据类型。
通过电子邮件及时提供及时的技术支持。
用法示例。Accuracer发行包中约有50个有关Delphi / C ++ Builder / Kylix的演示。 实用程序包括完整的源代码。
综合帮助。Accuracer随附《 Accuracer开发人员指南》和《 Accuracer组件参考》中提供的完整文档。
以最简单的方式执行表重组,以保留所有现有数据。
支持从任何数据源导入和导出数据。Accuracer为您提供使用ImportTable和ExportTable方法导入和导出表的最简单方法。
TACRBatchMove组件的工作方式与TBatchMove相同,并支持其几乎所有功能,它对记录组或整个表执行数据库操作。
国际化/本地化支持。所有文本搜索和排序功能都使用当前的系统区域设置,因此使用Accuracer对程序进行本地化是一项非常简单的任务。
Unicode支持。所有文本操作都使用ftWideString进行多字节编码。
支持在表和数据库可能缓慢的操作过程中显示进度。
交易为您提供工作的额外便利。
8、实用工具
Accuracer Manager可以帮助您轻松管理数据库。这个功能强大的工具使您可以对Accuracer表和数据库执行任何受支持的操作。
Accuracer Database Server实用程序(仅在客户端/服务器版本中)。灵活的数据库管理员和服务器管理工具。
DBTransfer实用程序将帮助您将现有表从具有BDE驱动程序的数据库系统(如Paradox,Interbase,Access,Oracle,SQL Server)传输到Accuracer数据库,反之亦然。
需要使用ACR4Convert实用程序将旧的Accuracer 1-4数据库转换为新的Accuracer v.5。
Converter Utility可帮助您将现有数据库从EasyTable转换为新的Accuracer数据库系统格式。
SQL Console为您提供了一种执行SQL查询的简便方法。您可以加载和运行随附的演示查询,也可以创建自己的脚本并将其保存到文本文件中。
AccuracerBackup和AccuracerRestore帮助您组织备份-还原过程,并为您提供了向应用程序添加备份/还原功能的示例。
所有实用程序均包含完整的源代码,可用作高级示例。
使用说明
一、创建数据库文件
您可以使用以下方法之一创建数据库文件:
1)运行ACRManager实用程序,然后选择“数据库”菜单中的“新建数据库”项。按照说明进行操作。
2)使用TACRDatabase组件的CreateDatabase方法。请参阅CreateDatabase演示。
二、设置表和数据库组件
以下步骤是在设计时设置表格组件的一般说明。您可能需要采取其他步骤,才能根据应用程序的需求定制表的属性。如果您需要内存中的表,则不应该创建数据库组件,只需将InMemory属性设置为true。
要创建数据库组件,
1.将“组件”选项板的“精确度”页面中的TACRDatabase组件放置在数据模块或表单中,并将其DatabaseName属性设置为适合您的应用程序的唯一值。
2.将DatabaseFileName属性设置为数据库文件的路径。如果在对象检查器中双击此属性,则可以使用OpenDialog。
要创建表组件,
1.如果需要一个内存表,请将InMemory属性设置为True,否则将DatabaseName属性设置为指定将使用哪个TACRDatabase组件来连接到数据库文件。
2.将“组件”选项板的“精确度”页面中的TACRTable组件放置在数据模块或表单中,并将其“名称”属性设置为适合您的应用程序的唯一值。
3.将TableName属性设置为数据库中表的名称。
要访问由表组件封装的数据,
1.将“组件”选项板的“数据访问”页面中的数据源组件放置在数据模块或表单中,并将其DataSet属性设置为表组件的名称。
2.在窗体上放置一个数据感知控件,例如TDBGrid,并将该控件的DataSource属性设置为上一步中放置的数据源组件的名称。
3.如果使用数据库文件中的表,则将TACRDatabase组件的Connected属性设置为True。如果使用内存表,请跳过此步骤。
4.将表组件的Active属性设置为True。
三、建立表格
介绍
通过TAccuracer组件的CreateTable方法完成表的创建。CreateTable方法使用的属性包括FieldDefs,IndexDefs,TableName和Exists属性。
指定要创建的字段
FieldDefs属性用于指定要为新表定义的字段。FieldDefs属性是TFieldDef对象的数组,每个对象都包含有关要创建的字段的信息。您可以使用FieldDefs属性中存储的TFieldDefs对象的Add方法添加新的TFieldDef对象。Add方法为定义的字段接受以下参数:
字段名称(字符串)
字段名称参数指示要赋予该字段的名称。
数据类型(TFieldType)
DataType参数指示字段的数据类型可用的TFieldType数据类型
大小(字)
Size参数指示字段的大小。仅应为字符串类型指定此名称。对于所有其他数据类型,此参数应设置为0。对于字符串类型,此参数指示字段的长度。对于WideString类型,此参数指示以字节为单位的宽字符串的大小。
必填(布尔)
Required参数指示添加或修改记录时是否应要求新字段(非Null)。
高级FieldDefs
Accuracer提供了一些FieldDefs无法指定的高级功能,例如最小值,最大值和默认值,自动增量字段设置,blob和varchar字段压缩设置。使用AdvFieldDefs而不是FieldDefs来指定具有高级参数的字段。如果使用AdvFieldDefs,则应通过调用FieldDefs.Clear来清空FieldDefs列表,反之亦然。有关AdvFieldDefs(TACRAdvFieldDef类)的更多信息,请参见参考指南。
指定要创建的索引
IndexDefs属性用于指定要为新表定义的索引。IndexDefs属性是TIndexDef对象的数组,每个对象都包含有关要创建的索引的信息。您可以使用IndexDefs属性中包含的TIndexDefs对象的Add方法添加新的TIndexDef对象。Add方法为定义的索引接受以下参数:
索引名称(字符串)
索引名称参数包含要赋予索引的名称。
字段列表(字符串)
字段列表参数包含要包含在索引中的字段列表。此参数中指定的多个字段名称应使用分号(;)分隔。
索引选项(TIndexOptions)
索引选项参数提供有关正在创建的索引类型的信息(请参阅Accuracer随附的组件参考,以获取有关可用的TIndexOption选项的更多信息)。