Delphi作为强大的数据库前端开发工具,提供了很多数据库存取方式的封装控件。对于Oracle的数据存取控件,不管何种数据库引擎,一般都会封装一个Connection作为数据集的连接控件,因此只要设定Connection的相关属性即可,其它dataset控件,如query,table等只要指定此Connection即可,客户端应用程序要连接到Oracle的Schema,一般都需要安装Oracle Client,并使用Net Manager设置客户端可以访问的Oracle Database Server的主机名称及存取协议、Port等信息。可以使用以下的方式连接
1.
dbExpress:dbExpress比较适合连接SQL的数据库,据说效率挺高的。放置一个dbExpress页签下的SQLConnection,在此控件上点击鼠标右键,选择“Edit Connection Properities”功能,并依下图设置即可。
其中Database栏位要设置为Oracle Client中设置的服务名,如果需要记住密码,而不用每次连接的时候输入密码,请将 LoginPrompt属性设置为False,设置OK后即可测试将Connected:=True看看是否成功,其它数据处理控件请选择相应dbExpress页签下的控件即可。
2.
BDE:BDE应该来说是Borland自己的数据库引擎了,效率也是相当不错的。当然也是支持Oracle连接的。使用BDE页签下的database控件,设置方法参考下图所示:
3.
ADO:ADO是Microsoft所支持的数据库连接技术,大有一统windows客户端数据存取引擎的意思,在.net平台,推出了ADO.NET,更好地支持了XML。DELPHI有对ADO做了一些封装,使用ADOConnection,通过向导设置它的ConnectionString即可,可以参考下图所示:
4.
ODBC:ODBC是最传统的链接方法了,效率相对来说稍微低一些,不过通用性也更强,不建议使用这种方法。使用前需要先到ODBC设置中增加一个数据源名称DSN,然后再透过ADO或者BDE组件来实现数据的存取。可以参考如下图片设置:
5. 不使用控件,比如使用原生的ADO组件,不太建议这种方法,既然Delphi已经做了封装,何必又要回到原始状态呢。以上连接方法都需要安装Oracle Client软件,但是Oracle官方的Client太过庞大,安装非常不便,目前网上有人发布一个精简版的Oracle Client软件,比较小,可以满足连接Oracle的需要,可以去下载这个软件,而不用去安装复杂的官方版本。
6. 下载ODAC控件,此控件不需要安装Oracle Client,而是使用OCI的方式透过TCP/IP协议直接连接到Oracle Server,可以将程序做成瘦客户端,程序分发的时候比较方便。此控件支持Delphi的大部分版本以及C++Builder以及kylix以及.net,而且提供源代码,有兴趣的可以研究一下。具体安装使用方法请参考控件的相关说明以及帮助文档。