您的位置:首页 > 其它

回答朋友关于DBExpress的问题

2008-04-10 05:18 323 查看
朋友,你好
  DBExpress是Borland公司推出的基于单向数据集的数据库引擎技术。因为是单向数据集,因此连接数据库非常的快。在Borland看来,DBExpress被期望用来取代BDE和ADO。
  到目前为止,DBExpress支持如下数据库,至于更新的版本有待测试:
   
  Inerbase7.5
  MSSQL2000
  Oracle9i2
  DB2
  MySQL
  PostgreSQL
  Sybase ASE 12.5
  Informix  上述的几种数据库已经经过我的测试,看来是好用的。  DBExpress技术包括DBExpress组件技术,DBExpress驱动程序和DataSnap技术。使用DBExpress技术,一定要用DataSnap,否则便失去了DBExpress基于多层分布式技术的意义。
  由于DBExpress是单向数据集技术,因此,直接使用它只能从前向后访问记录,不可逆转。于是在Delphi7中,增加了一个TSimpleDataSet组件,用它来暂时的满足两层结构的直接数据集访问。
  但是,这并不是Borland推荐的方式。事实上,DBExpress+TSQLConnection+TSQLQuery+TDataSetProvider才是最好的访问方式。对于两层结构而言,采用TClientdataset之类的客户数据集连接TDataSetProvier,就可以了访问数据库了;对于三层或者多层结构而言,你必须在客户端采用DataSnap连接组件,比如Dcom,Corba,Tsocketconnection等,然后采用Tclientdataset等客户数据集连接该组件,通过该组件连接服务器上的某个tdatasetprovider。这样就可以满足你的所有数据库访问需求了。
  因此,无论是几层结构,Borland始终推荐采用上述DBExpress+TSQLConnection+TSQLQuery+TDataSetProvider的方式访问数据库。
  遗憾的是,Borland公司的优秀技术永远超前于其市场拓展能力。DBExpress终究敌不过Ado.net,除了在Delphi2005中继续提供支持外,Borland似乎更看好不太成熟的支持.net的BDP(Borland Database Provider)技术。
  不过,我还是喜欢DBExpress,至少在win32下,它是最好的数据库访问引擎。
  需要提醒的是,你必须要熟悉dbxconnection.ini文件,在你的应用系统中动态装载它,这样才能灵活发布。此外,每一种数据库都有一个dbexpress驱动:
  db2:       dbexpdb2.dll
  informix:  dbexpinf.dll
  interbase: dbexpint.dll
  mssql:     dbexpmss.dll
  mysql:     dbexpmys.dll/dbexpmysql.dll
  oracle:    dbexporal.dll
  sybase:    dbexpsyb.dll
  上述驱动不可缺少,Borland并未完全提供,你可以去网络上下载。
  建议:你最好做一个构件,把DBExpress访问数据的方式封装起来,只需要初始化这个组件并且访问其中某个方法,就可以了。
  祝你成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: