ODAC(V9.5.15) 学习笔记(一)总论
一直在使用ODAC做开发,没时间仔细研究一下,目前采用的是3层结构,ODAC+TDataSetProvider+TClientDataSet做数据处理,也没有多大问题。下一步要开发B/S的程序了,打算用ODAC+uniGUI来完成,数据处理上其实可以按照2层结构,相比3层结构要简单些,性能预计也要好些。所以需要仔细研究一下ODAC的功能。岁数大了,做个笔记免得忘了。以下大部分材料来自于ODAC的帮助文件,E文不是太好,只能大概了解意思,难免有错,阅读和使用时需要进一步核实。
1.1. 简介
ODAC(Oracle Data Access Components)是RAD下用于直接访问Oracle数据库的专用控件组。其最大的特点是:可以不用安装Oracle客户端就能够直接访问Oracle数据库,并对Oracle数据库中的众多特色功能进行了封装。
ODAC目前最新版本为9.5.15,本文以此版本为基础进行介绍。该版本支持Delphi、C++Builder和Lazarus下的多个版本,支持VCL或FMX控件。该版本对直接访问模式(Direct mode)进行了开源。开发的软件支持Android、IOS、Windows32/64等多个平台。不过我们开发的与Oracle相关的程序,一般是C/S/S或B/S架构的服务器端程序,所以只考虑Windows32/64平台下的开发。
ODAC采用了原生态的网络连接(TCP/IP)与Oracle服务器通信(Direct mode),越过了Oracle的客户端程序,性能更加优越。当然为稳定也可以使用Oracle的客户端连接。
1.2. 特点
按照官方文件说明,ODAC的9.5.15版主要具有以下特点:
1、 Direct模式下可以直接访问Oracle数据库,不需要安装Oracle客户端,不需要BDE或ODBC等数据库客户端引擎,安装和部署更方便。
2、 支持目前Oracle的所有服务器版本,包括12c、11g、10g、9i、8i、8.0、7.3,支持Oracle简化版(Oracle Express Edition 11g/10g)。
3、 支持数据离线模式(Disconnected Mode),在数据缓冲到客户端后,可以断开与服务器的连接,以减少Oracle服务器资源的开销,所有操作在本地内存中完成,当需要提交数据时重新连接Oracle服务器。
4、 支持所有数据类型的本地索引和过滤,包括计算字段和Lookup字段。
5、 自动进行数据更新,包括ODAC自动生成的更新SQL或自定义的SQL,能够自动提交到数据库服务器,或缓冲模式下手工提交到数据库。
6、 支持SQL脚本执行,这样一来很多升级脚本可以通过软件自动运行了。
7、 支持对包(Package)的封装和运行。只需要一个控件就可以控制一个包中所有过程和函数的执行了。
8、 支持失效备援模式(Transparent application failover ,TAF)当数据库连接因各种原因断开(最常见的是网络原因),ODAC能够自动进行重新连接并确保客户端数据不丢失,相比传统2层架构软件的数据库连接有巨大优势。
9、 支持SQL语句的监控,即SQLMonitor。
10、 支持内存表,可以在客户端内存中建立数据表进行操作。
11、 支持Oracle的消息队列功能。
12、 其他功能,如分布式事务处理、双字节字符处理等。
ODAC(V9.5.15) 学习笔记(一)总论的更多相关文章
- ODAC(V9.5.15) 学习笔记(三)TOraSession(3)
3. 选项 TOraSession的Options有如下内容 名称 类型 说明 CharLength TCharLength 单个字符的长度,缺省0,表示从服务器获取对应的字符集中单个字符长度 Cha ...
- ODAC (V9.5.15) 学习笔记(二十)大数据量获取处理
ODAC获取数据的效率比较高,在Web程序中希望能够更快获取第一页的数据时,可以有几种方式: 1.在数据库中进行分页处理: 2.获取所有数据,只是快速返回第一页数据. 第一种方案对应用服务器资源消耗最 ...
- ODAC(V9.5.15) 学习笔记(十九)主键值自动生成
ODAC支持通过Oracle的序列来自动生成表的主键功能.这个过程允许在客户端自动完成,不需要过多代码.这个对一些要求自动增长字段做主键的场合非常有用.其实现步骤为: 1.数据库必须先建立生成主键的序 ...
- ODAC(V9.5.15) 学习笔记(十八) 数据集缓冲模式
数据集的缓冲模式(Cached mode)是将数据库服务器的数据缓冲在客户端内存中进行处理,不再依赖服务器.只有当数据需要提交数据库服务器进行保存时,才将变更数据一次性提交数据库服务器. 数据集缓冲模 ...
- ODAC(V9.5.15) 学习笔记(十七)主从模式
主从模式(Master/Detail mode)是指建立主表和从表关系的多个数据集集合模式. 1. 关系设置 要设置主从模式,必须有一个主表数据集(TDataSet)和一个从表数据集(TDataSet ...
- ODAC(V9.5.15) 学习笔记(十六)直接访问模式
直接访问模式(Direct mode)是ODAC最大的特色之一,即不需要安装Oracle客户端,ODAC越过了OCI(Oracle Call Interface ),使用TCP/IP协议就可以直接与O ...
- ODAC(V9.5.15) 学习笔记(十五)数据离线模式
数据离线模式(Disconnected Mode)是指数据库只有在需要的时候才连接,数据的处理放在客户端内存缓冲区中完成.这样做最大的好处是减少了网络资源依赖,对数据库服务器的资源开销和压力也减少.如 ...
- ODAC(V9.5.15) 学习笔记(四)TOraDataSet
名称 类型 说明 SequenceMode TSequenceMode ODAC可以直接利用Oracle中的序列对象为表的主键赋值,从而实现主键自动增长的功能.该属性决定了在什么场合下使用序列: sm ...
- ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(4)
6.Options TCustomDADataSet的选择项为TDADataSetOptions,其成员介绍如下表 : 名称 类型 说明 TDADataSetOptions AutoPrepare B ...
随机推荐
- MyBatis基础入门《十四》ResultMap子元素(association )
MyBatis基础入门<十四>ResultMap子元素(association ) 1. id: >> 一般对应数据库中改行的主键ID,设置此项可以提高Mybatis的性能 2 ...
- 十一 JS继承
// time:2016.2.1 // des:继承 function Enemy() { this.level = 50; console.log("Enemy constructor&q ...
- html5-css边框全
/*div{ width: 500px; height: 300px; background: rgb(122,30,60); border: 10px solid black ...
- html5-新元素新布局模板
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- STL容器之set
[1]set容器 一个集合(set)是一个容器,它其中所包含的元素的值是唯一的. [2]set容器方法 (1)set构造函数.插入函数.遍历过程 应用示例代码如下: #include <set& ...
- 从网站上扒网页,保存为file文件格式
保存下来的页面总是有部分特效缺失,可是文件包里已经有好几个js文件了. 例如想保存易迅的搜索页面,条件筛选栏的按钮全部失效了,按钮-更多.多选等 都没有反应,搜索结果的鼠标悬浮显示完整信息也没有了. ...
- 富文本编辑器kindeditor插件
官网:http://kindeditor.net/doc.php 步骤
- 20165215 实验三 敏捷开发与XP实践
20165215 实验三 敏捷开发与XP实践 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:张家佳 学号:20165215 指导教师:娄嘉鹏 实验日期:2018年4月28日 实验时 ...
- 微信小程序制作家庭记账本之七
最后一天,程序完成的仍然不是很好,作品很简陋,不过还是可以记账的,没有购买域名,别人无法使用,下次我会完成的更好.
- linux 3
-- Linux -- 开心的一天 vi 所有的 unix like 系统都会内置 vi 文本编辑器 vim 较多使用的,可以主动的以字体颜色辨别语法的正确性,方便程序设计 vi/vim 的使用 ...