自从Delphi推出以来,Delphi全方位的功能便让许多程序员津津乐道。而Delphi在数据库方面提供的强大而富有弹性的能力更是让许多数据库程序员惊喜不已。Delphi的BDE/IDAPI不但提供了合理的执行效率,而且能够连接各种不同的数据库。从File-Based的Paradox/dBase数据库到真正的关系数据库如InterBase、Oracle、Informix、DB2和MS SQL Server等,都能够让Delphi的程序员使用相同的技术来访问各种不同的数据源,实在是非常的方便。
但是随着软件技术的进步以及用户需求的变化,数据访问的方法也随之出现巨大的改变。从以往提供持续连接的主从架构应用系统转换成现在的以批处理,而且客户端和数据库之间可能是处于没有连接的状态。例如现在的数据访问技术必须同时能够满足在企业内部的主从架构式应用系统,以及能够提供Web访问的分布式应用系统。虽然BDE/IDAPI技术也可以同时使用在这两种应用之中,但是BDE/IDAPI毕竟是以File-Base和主从架构观念设计的,对于Web-Based和分布式架构的应用无法提供比较有效率和经济的使用方法。
Borland为了解决用户新的需求以及提供Borland开发工具用户跨平台的能力,以响应Borland推出执行在Linux上的开发工具-Kylix,因此,Borland必须认真地考虑开发下一代的数据访问技术,因为BDE/IDAPI明显已经无法满足新的应用而且无法提供跨平台的功能。这些原因促使了dbExpress的诞生。
dbExpress是Borland下一代的数据访问技术。dbExpress的设计目标是提供高效数据访问以及提供跨平台能力的数据访问引擎。自从Delphi 6之中Borland推出了dbExpress 1.0之后,dbExpress发展得相当迅速。目前dbExpress已经能够访问许多的关系数据库,包括Oracle,InterBase,Informix,DB2,MS SQL Server,MySQL,PostgreSQL等,而且在未来Borland将持续地开发Sybase等数据库的dbExpress驱动程序。此外,目前dbExpress已经能够在Windows和Linux平台上运行,未来也将移植到Microsoft的.NET上运行。
Delphi 7之中的dbExpress已经是2.0的版本了。在dbExpress 2.0中不但提供了更多的dbExpress驱动程序,修改了许多的臭虫,还提供了更高的执行效率。由于dbExpress现在的表现已经超越BDE/IDAPI,而且Borland也已经宣布BDE/IDAPI将不再更新,只是提供基本的维护。因此Delphi/Kylix/C++ Builder的程序员也必须使用dbExpress来开发新的数据库应用程序。
遗憾的是,虽然dbExpress提供了良好的功能和效率,但是目前市面上几乎没有什么书籍专门讨论dbExpress技术,以便帮助程序员善加利用dbExpress的功能以开发高效率的数据库应用系统。就是由于这个原因而促使笔者撰写本书,希望借助本书的内容能够帮助读者彻底掌握dbExpress技术。本书除了讨论如何使用dbExpress以及Delphi/Kylix的DataSnap技术之外,更详细而且深入地讨论了dbExpress的高级技术。其中包含了如何调整dbExpress的执行效率,dbExpress的实现原理以及dbExpress未来的发展,以便让读者能够充分地发挥dbExpress引擎的强大功能,开发出高效率的Delphi/Kylix数据库应用系统。
笔者从Delphi 6.0/Kylix 1.0开始撰写本书,虽然Delphi 7的dbExpress和DataSnap有少许的改善,不过本书的内容仍然适用于Delphi 6/Kylix 2.0以及Delphi 7/Kylix 3.0,此外笔者也在书中说明了Delphi 6和Delphi 7的不同之处。
笔者要谢谢所有帮助本书出版的朋友,更要谢谢读者的支持。最后希望本书的内容真的能够帮助读者快速进入dbExpress的世界,并且在阅读完毕之后成为精通Delphi/Kylix数据库应用系统设计的高手,谢谢!
李 维
2002年10月于台北,新店






