回答朋友关于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访问数据的方式封装起来,只需要初始化这个组件并且访问其中某个方法,就可以了。
祝你成功。
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访问数据的方式封装起来,只需要初始化这个组件并且访问其中某个方法,就可以了。
祝你成功。
相关文章推荐
- 回答朋友关于DBExpress的问题
- 回答朋友关于DBExpress的问题
- 回答朋友关于DBExpress的问题
- 回答朋友关于DBExpress的问题
- 回答朋友关于DBExpress的问题
- 回答一位朋友的问题:关于Socket通信的概述
- 回答朋友的问题(关于 RTEMS 学习)
- 回答朋友的问题(关于 RTEMS 学习)
- 回答朋友的问题(关于 RTEMS 的知识储备)
- 回答朋友的问题(关于 RTEMS 的知识储备)
- 回答一位朋友的问题:关于Socket通信的概述
- 回答Keyword1983朋友关于RTEMS网络 rtems_xxxx_attach 参数问题
- 回答棉花糖先生关于我说的DB自动增加Index的问题
- 回答Keyword1983朋友关于RTEMS网络 rtems_xxxx_attach 参数问题
- 回答网友关于测试方面的问题
- 关于音频数据求DB值的问题
- 关于nodejs express4.X框架不支持layout模板的问题解决
- 关于Ubuntu上建立express项目后执行node app.js没反应的问题
- 关于SQL Server Management Studio Express出现英文的问题
- 关于sql 2005 express 远程访问和sa密码的问题(转帖)