ODAC 3.0-----Delphi/BCB 开发的Oracle 数据库应用的利器
Xalion
Borland 公司出品的Delphi/BCB 以其快速、简单、功能强大而使许多开发人员着迷,
强大的数据库、Internet开发是许多开发工具无法比拟的。
Delphi/BCB 本身采用BDE 来存取各大流行数据库如Oracle,Db2,Sybase,SQL Server。
其方式为(以Oracle 为例):
[Oracle RDBMS] <> [SQL*Net] <> [OCI] <> [SQL Links] <> [BDE] <> [Application]
BDE 为开发者提供了一套简单的统一的接口,可是这是以牺牲速度为代价的,而且每次应用
程序分发时,同时要安装一份BDE,安装工作比较麻烦。而RDBMS 的一些特殊的功能和特性没有发挥作用。
于是,一些第三方开发商就开发出了不通过BDE 而存取RDSBMS 的控件来弥补BDE
的不足,包括Borland 自己在最新版的Delphi 6.0 和Kylix 中也开始引入了Dbexpress 来
替换BDE。针对不同的数据库有许多第三方存取控件,在Oracle 方面就有 DOA,ODAC,NCOCI8
等等。其数据库存取方式为(以Oracle 为例):
[Oracle RDBMS] <> [SQL*Net] <> [OCI] <> [Application]
这样开发者就可以直接通过RDBMS 的客户端直接工作,可以直接调用RDBMS 的特殊功能,为应用程序开启了方便之门,大大提高了系统的运行速度和功能,唯一麻烦的是客户端
必须安装RDBMS 的客户端,Oracle 8.17i的客户端默认安装就为几百兆,安装一次实在不容易。
直到最近Core Lab 推出ODAC 3.0 ,其支持Oracle 的NET 功能,直接运行在TCP/IP 协议上,终于解放了广大的Oracle 开发者,不用再安装Oracle客户端就可以存取Oracle 数据库了,其数据库存取方式为:
[Oracle RDBMS] <> [TCP/IP] <> [Application]
这样你只要知道Oracle Sever 运行机器的IP 地址及listening port和 database instance name就可以存取Oracle 了。
(图一)
以上为ODAC 安装后delphi 出现的控件面板。ODAC 当前的版本为3.50。
在form 上放一个Orasession。双击出现一下的窗口(图二),选上net 选项,
然后添入运行Oracle的服务器的IP 及 Oracle 用户名和密码,点connect 按钮,
窗口马上消失了,OK! 连上了。然后双击Orasession1 就出现图三。这时你可以
显示info 和about 栏。
在放一个Toraquery,选它的session 为orasession1,然后双击,出现(图四),
你可以在SQL页面写上SQL 语句了,然后点SQL generator 页面(图五),点get
table fields按钮,然后点generate SQL 按钮,OK! 再点Update SQLs 页面(图六),
哈哈,Insert ,Update,Delete,Lock,
Refresh 语句全部出来了。剩下的就是我们平时在BDE 里面的活了,选Datasource,Dbgrid,
Dbnavigate等等了,好我们看看,于是就有了图七。怎么样简单吧。
ODAC 不但提供了Query 的功能,还提供了OraStoredProc、OraNestedTable、OraPackage、
OraAlerter,OraLoader等等来帮助开发人员存取Oracle 的更高层次的功能。内建的Debug
功能是快速除错的强有力帮手。现在ODAC 也支持Kylix ,更是为跨平台的开发提供了不可
比拟的基础。
ODAC 使Delphi/BCB 如虎添翼,如果你使用delphi 来开发Oracle 应用,我强烈建议
使用ODAC,我就是毫不犹豫的从BDE 转换过来的。有关ODAC 的更多的讨论,可以到我的网页
上察看http://www.51delphi.com 。