Delphi连接Oracle控件ODAC的安装及使用(轉載)
2010-08-13 01:13:37
Delphi连接Oracle有很多种方式,但大多要在客户机上安装Oracle那庞大的客户端,比较不方便,使用ODAC控件连接Oracle则免去了这些麻烦。ODAC也是Oracle公司载发的控件。有for Delphi 6--Dephi 2007的版本。
Oracle数据访问组件(ODAC),全称:Oracle Data Access Components,Oracle数据存取组件(ODAC)库为Borland Delphi, C++ Builder以及Kylix提供了一些非可视化的组件,它们用来存取Oracle关系数据库系统,ODAC直接使用Oracle调用接口(OCI)。OCI是一种允许应用程序开发人员使用第三方开发语言存取Oracle数据服务器的过程或函数有及控制所有的SQL语句执行状态的应用程序接口(API)。OCI通过一个动态运行库(ORA*.DLL)提供了一个标准的数据库存取库及函数,以在应用程序中建立连接。也可以使用ODAC的Net选项而无需在客户机上安装Oracle客户端来连接到Oracle。在这种情况下,ODAC公需要TCP/IP协议的支持,从而可以创建真正的、最小的数据库应用程序。
下面是安装步骤(通过修改对应版本下的make.bat文件编译也可以达到如下效果):
安装环境:ODAC 6.80.0.47 for Delphi 7
编译及安装:在Project Manager对应的bpl上单击右键先Compile再Install
1、打开并编译安装Source\Delphi7\dac70.dpk
2、打开并编译安装Source\Delphi7\dacvcl70.dpk
3、打开并编译安装Source\Delphi7\dcldac70.dpk
4、打开并编译安装Source\Delphi7\odac70.dpk
5、打开并编译安装Source\Delphi7\odacvcl70.dpk
6、打开并编译安装Source\Delphi7\dclodac70.dpk
7、打开并编译安装Source\Delphi7\oraprov70.dpk
8、将C:\Program Files\Borland\BDS\4.0\ODAC\Source和C:\Program Files\Borland\BDS\4.0\ODAC\Source\Delphi10添加到"Search Path"中("C:\Program Files\Borland\BDS\4.0\ODAC\"是我放置ODAC的路径,你要换成你自已的路径,如果你不放置"C:\Program Files\Borland\BDS\4.0\ODAC\Source"则会出现"File not found: 'DBAccess.res'"的错误).
组件介绍:
TOraSession
设定与控制与Oracle数据库的连接。
当User、Password、Server属性设置好以后,你可以通过调用Connect方法或者设定Connected属性为True来建立一个与数据库的连接。
ODAC包含了以下组件:
所有要有数据访问的组件,像TOraQuery、TOraSQL、TOraScript,必须有他们的被赋予一个TOraSession实例的Session属性。
ODAC有两种连接Oracle的方式:在 Client 模式下,使用Oracle Client 软件, 或者在 Direct 模式下,通过 TCP/IP连接,这种方式发布程序的时候不需要客户端安装Oracle Client 软件。
推荐使用Direct模式
方法:在OraSession的Option中选择Direct,连接的服务器写为“IP:端口:全局服务器名”,例如:
OraSession1.Options.Direct:=True
OraSession1.Username:='system';
OraSession1.Password:='888';
OraSession1.Server:='192.168.10.23:1521:MyDataBase';
OraSession1.Connected;
TOraQuery
利用DML SQL语句更新数据库的表。将SQL语句放入SQLInsert,SQLDelete和SQLUpdate属性。
SQLInsert,SQLDelete,SQLUpdate,SQLLock,SQLRefresh属性支持自动绑定参数。要获得操作之前的字段值可以在字段名前加“OLD_”前缀。
如果没有设定SQLInsert,SQLDelete,SQLUpdate属性TOraQuery,TOraQuery会执行只读访问。
TSmartQuery
TSmartQuery是TOraQuery的另一种选择。它通过动态生成SQL语句,提供对记录insert,delete和update的操作。你也可以履行记录的自动阻塞(blocking),他们的修改前检查、提交后刷新。
为了修改TSmartQuery的记录集,在SQL属性中的SELECT语句应该获得更新表的RowID。当KeyFields属性被指定时,TSmartQuery也可被修改。TSmartQuery只能修改一个Oracle的表。所修改的表是UpdatingTable属性中的表或者是在From子句中的第一个表。
为了编辑Dept表中的数据,你可以在SQL属性中写:
SELECT D.*,D.ROWID FROM Scott.Dept D
ODAC包含了以下组件:
TOraSession:控制服务连接;
TOraQuery:执行查询,操作记录集,灵活地更新数据库表;
TSmartQuery:与TOraQuery功能类似,可自动创建Insert、Delete、Update查询,自动锁定及更新记录;
TOraSQL:执行SQL语句,PL/SQL块,存储过程;
TOraPackage:允许执行包中的过程及函数以及变量;
TOraTable:允许不需要使用SQL语句来读取及更新单个表;
TOraStoredProc:执行存储过程和函数,允许编辑游标并可作为参数返回;
TOraNestedTable:控制嵌套表数据;
TOraProvider:提供从客户数据集进行数据及应用更新;
TOraScript:执行SQL及PL/SQL语句;
TOraAlerter:允许在两个会话中传送消息;
TOraLoader:快速装载Oracle数据库;
TOraSQLMonitor:允许监视执行基于ODAC应用程序中的动态SQL语句;
TOraErrorHandler:传送错误信息;
TBDESession:允许将ODAC集成到基于BDE的应用程序中;
TConnectDialog:用来输入用户名,口令及服务名;
TCRDBGrid:增强的TDBGrid,提供可视化的数据过滤及增量查询;
TVirtualTable:数据存储在内存中。
Delphi连接Oracle控件ODAC的安装及使用(轉載)的更多相关文章
- Delphi连接Oracle控件ODAC的安装及使用
Delphi连接Oracle有很多种方式,但大多要在客户机上安装Oracle那庞大的客户端,比较不方便,使用ODAC控件连接Oracle则免去了这些麻烦.ODAC也是Oracle公司载发的控件.有fo ...
- Delphi发布ActiveX控件 制作CAB包 数字签名相关
文件: SignTool.rar 大小: 84KB 下载: 下载 最近我正在研究ActiveX技术.我使用Delphi 7创建了一个具有ActiveForm的ActiveX控件应用程序.这个控件产生一 ...
- 制作用于日期时间型字段的DELPHI数据感知控件
用DELPHI开发C/S应用方便而快速,因为它拥有大量易于使用的数据访问和数据感知控件.然而万事总是难以完美,DELPHI的DBEdit控件用于输入日期时间型字段却很不方便,为了改善这一缺点,笔者开发 ...
- Delphi 开发ActiveX控件(非ActiveForm)
Delphi 开发ActiveX控件(非ActiveForm) Q:为什么不采用ActiveForm工程?通过它可以快速开发带窗体控件,创建过程也非常简单(都不用考虑安全接口问题),很省事! A:如果 ...
- Delphi 编写ActiveX控件(OCX控件)的知识和样例(有详细步骤)
一.ActiveX应用情况简介: ActiveX控件也就是一般所说的OCX控件,它是 ActiveX技术的一部分.ActiveX是微软公司推出的基于组件对象模型COM的技术,包括对Windows 32 ...
- Delphi的TListView控件拖放选定行操作
http://www.tansoo.cn/?p=401 Delphi的TListView控件拖放选定行操作的例子,效果图如下:TListView控件拖动选定行到指定位置 具体实现步骤: 一.新建一个D ...
- 用delphi的THTTPRIO控件调用了c#写的webservice。
用delphi的THTTPRIO控件调用了c#写的webservice. 下面是我调试时遇到的一些问题: 1,导入wsdl文件:file--new----other----wenservice---W ...
- 用Delphi的TIdHttp控件发起POST请求和Java的Servlet响应
http://blog.csdn.net/panjunbiao/article/details/8615880 用Delphi的TIdHttp控件发起POST请求和Java的Servlet响应
- Delphi创建ActiveX控件,实现安全接口及无界面代码
Delphi创建OCX控件非常的方便,但IE调用时弹出的安全认证非常麻烦,有时OCX也不需要界面,IE调用时需要隐藏,非常不方便.在DELPHI中创建OCX实现安全接口和创建事件中修改部分代码 实现安 ...
随机推荐
- 使用CSS3滤镜让图片反转颜色
CSS提供的滤镜也是一大亮点,我一直痴迷其中,有些滤镜的效果很有用,可是有些的滤镜效果可能只是为了玩玩儿,CSS常见的滤镜有这些:grayscale, blur, sepia,所有常见的过滤器.但是如 ...
- linux 学习随笔-磁盘管理
1:df 用于查看已挂载磁盘的容量信息 -i 查看inodes使用情况 -h 以合适的单位显示 -k -m 分别以k M单位显示 2:du 查看某个文件或者目录占用的空间 du [-abckmsh] ...
- Java Gradle入门指南之插件管理(类型、导入及java plugin使用)
上一篇随笔介绍了如何使用Gradle内建任务,介绍了自定义Gradle任务类的三种方法(build文件,buildSrc文件夹.新建groovy项目),一个任务是一个原子操作,即不可分割的.项 ...
- SQL Server 2014新特性——Buffer Pool扩展
Buffer Pool扩展 Buffer Pool扩展是buffer pool 和非易失的SSD硬盘做连接.以SSD硬盘的特点来提高随机读性能. 缓冲池扩展优点 SQL Server读以随机读为主,S ...
- mysql自动备份维护shell脚本 (copy)
#!/bin/bash #Mysql 自动备份 压缩并上传到 指定ftp #设想每天凌晨3点备份mysql #编辑crontab配置文件 # * * * backupmysql.sh #压缩并以&qu ...
- arcgis 随手记
1,ArcGISDynamicMapServiceLayer 3.0 用 4.1 以后用MapImageLayer 代码如下: <!DOCTYPE html> <html&g ...
- cocos2d之列表容器节点再排序
第一处:获取使用类中传出的数据对象 第二处:清除列表容器中的数据且保存数据缓存 第三处:使用刚创建的函数再排序
- windows下使用mysql双机热备功能
一. 准备工作 1. 准备两台服务器(电脑),接入局域网中,使互相ping得通对方 2. 两台服务器都安装mysql-server-5.1,必须保证mysql的版本一致 3. 假设,服务器A:192. ...
- dpdk在虚拟机上出错处理
目录 1. 所用系统与软件版本 2. 虚拟机配置 3. Ubuntu 12.04上的配置 3.1 准备 3.2 通过setup脚本进行配置 3.3 通过命令配置 4. CentOS 7.0上的配置 4 ...
- web性能优化系列之网站瓶颈识别
最近,公司网站的的访问量日益增大,PV马上过百万了.前期网站一到访问高峰,马上会变得很卡甚至打不开,后来做了很多优化后现在访问比较顺畅了.经过此事明白了一个道理,在遇到这类问题要做到两点,第一要相信自 ...