ODAC(V9.5.15) 学习笔记(三)TOraSession(1)

1. 连接相关


名称


类型


说明


ConnectDialog


执行连接对话框控件


Connected


Boolean


连接状态,通过函数Connect和Disconnect连接或关闭数据库连接,并触发OnConnectChange事件。


ConnectMode


TConnectMode


数据库连接方式,取值如下:

cmNormal 缺省,普通用户连接

cmSysASM 以SYSASM角色连接

cmSysDBA 以SYSDBA角色连接

cmSysOper 以SYSOPER角色连接


ConnectPrompt


Boolean


数据库连接时是否强制输入密码


ConnectString


String


连接字符串,使用类似于ODBC的连接字符串方式,也可以通过设置Username、Password等属性自动生成。


Username

Password

Server


String


数据库登录的用户名和密码,已经服务名。当采用Direct模式时,Server的格式为:

IP:Port:SID

如:127.0.0.1:1521:ORCL


DisconnectedMode


Boolean


如果设置为True,则只会在需要的时候进行数据库连接,当某个动作完成后,会自动关闭数据库连接以节省数据库服务器的资源。一般用在客户端数据离线模式下。


Pooling


Boolean


是否启动连接池功能,如果启动连接池功能,则连接关闭时,其实是被放入了池中,连接在返回池前将被检查其连接状态,如果是断开状态,则不会被放入池中,而是被自动释放。连接池每30秒检查一下池中的连接是否真正处于连接状态,如果池中的连接断开了,将被释放并移除。注意一旦使用连接池,要关注最大缓冲数,设置太小会导致连接池报错。


PoolingOptions


TPoolingOptions


连接池选项,其中


ConnectionLifetime


一个连接在连接池中的生存时间(毫秒),超过该时间而没有被使用则被连接池释放并移除,缺省为0,表示无限长


MaxPoolSize


池缓冲最大数,缺省100个,在实际应用中偏小,可以适当加大


MinPoolSize


池缓冲最小数


Validate


从池中获取一个连接时,该参数决定了是否检查其连接状态。如果True表示要检查,即如果从池中获取的连接发现已经断开,则该连接将被释放,即保证从连接池中获取的连接一定是连接状态的。


PoolType


连接池类型TOraPoolingType,其取值及含义如下:

optLocal 由ODAC维护,缺省

optMTS 由MTS维护

optOCI  由OCI维护


RemoveFromPool


强制将当前连接在关闭时,不再进入连接池中,而是从连接池中移除


ThreadSafety


Boolean


OCI在多线程中的线程安全,缺省True


OnFailover


TFailoverEvent


在失效备援模式下,当发生数据库重新连接时,触发该事件。

时间: 2024-12-21 01:43:48

ODAC(V9.5.15) 学习笔记(三)TOraSession(1)的相关文章

ODAC(V9.5.15) 学习笔记(三)TOraSession(3)

3. 选项 TOraSession的Options有如下内容 名称 类型 说明 CharLength TCharLength 单个字符的长度,缺省0,表示从服务器获取对应的字符集中单个字符长度 Charset String 指定ODAC的字符集,只能在Oracle8的客户端下使用 ClientIdentifier String 客户端标识,只能在Oracle9及以上版本使用 ConnectionTimeout Integer 连接超时时间(毫秒),缺省0表示一直等待到成功或报错 DateForm

ODAC(V9.5.15) 学习笔记(三)TOraSession(2)

2. 事务相关 名称 类型 说明 AutoCommit Boolean 是否自动提交事务 注意:只有当TOraSession和TOraQuery的AutoCommit都为True时才对每个数据库操作自动提交事务,否则需要手动提交. InTransaction boolean 是否正在事务中 Savepoint 记录回滚点,回滚时可以指定回滚点进行回滚 RollbackToSavepoint StartTransaction 启动事务 Commit 提交事务 Rollback 回滚事务 SQL T

ODAC(V9.5.15) 学习笔记(三)TOraSession(4)

4. 数据库信息 名称 类型 说明 GetDatabaseNames 获取对应的数据库对象名称列表 GetSequenceNames GetStoredProcNames GetTableNames 5. 其他 名称 类型 说明 Debug boolean 是否进入Debug模式,缺省False 进入IDE环境的Debug模式后,将显示SQL语句及其参数的数据类型 OracleVersion string Oracle版本号 Schema string 当前用户模式,可以在连接状态下改变当前连接

ODAC(V9.5.15) 学习笔记(一)总论

一直在使用ODAC做开发,没时间仔细研究一下,目前采用的是3层结构,ODAC+TDataSetProvider+TClientDataSet做数据处理,也没有多大问题.下一步要开发B/S的程序了,打算用ODAC+uniGUI来完成,数据处理上其实可以按照2层结构,相比3层结构要简单些,性能预计也要好些.所以需要仔细研究一下ODAC的功能.岁数大了,做个笔记免得忘了.以下大部分材料来自于ODAC的帮助文件,E文不是太好,只能大概了解意思,难免有错,阅读和使用时需要进一步核实. 1.1.  简介 O

ODAC(V9.5.15) 学习笔记(二)控件列表

ODAC的控件有26个,简单介绍如下: TOraSession  管理Oracle的连接  TOraQuery  使用SQL进行数据获取,自动将更新提交数据库  TSmartQuery    在处理字段不多而记录多的大型表时更有效率的Query控件.  TOraSQL  SQL语句执行控件,包括PL/SQL块等,不返回数据集结果  TOraTable  对单表操作的控件  TOraStoredProc      存储过程控件,允许编辑光标数据并以参数形式返回  TOraNestedTable 

ODAC(V9.5.15) 学习笔记(四)TOraDataSet

名称 类型 说明 SequenceMode TSequenceMode ODAC可以直接利用Oracle中的序列对象为表的主键赋值,从而实现主键自动增长的功能.该属性决定了在什么场合下使用序列: smInsert       新增记录时 smPost          更新记录时 注意:根据序列更新的字段由KeyFields决定 KeySequence Oracle中用于生成主键的序列名称 CheckMode TCheckMode 在更新一条记录前,对当前记录进行检查的模式,包括: cmExce

ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(4)

6.Options TCustomDADataSet的选择项为TDADataSetOptions,其成员介绍如下表 : 名称 类型 说明 TDADataSetOptions AutoPrepare Boolean 执行SQL前是否自动执行Prepare CacheCalcFields Boolean 缓冲计算字段(TField.Calculated)和Lookup字段(Tfield.Lookup),能有效提高数据集访问速度,但是也会导致内存使用增加 CompressBlobMode Boolea

ODAC(V9.5.15) 学习笔记(十六)直接访问模式

直接访问模式(Direct mode)是ODAC最大的特色之一,即不需要安装Oracle客户端,ODAC越过了OCI(Oracle Call Interface ),使用TCP/IP协议就可以直接与Oracle服务器通信,使得ODAC程序的部署非常方便,性能也非常高. 要设置直接访问模式,只需要将连接组件的选择项Direct设为True Session.Options.Direct := True; 其他的参数设置同正常模式.使用直接访问模式的优势是不需要安装Oracle客户端,部署更方便,资源

ODAC (V9.5.15) 学习笔记(二十)大数据量获取处理

ODAC获取数据的效率比较高,在Web程序中希望能够更快获取第一页的数据时,可以有几种方式: 1.在数据库中进行分页处理: 2.获取所有数据,只是快速返回第一页数据. 第一种方案对应用服务器资源消耗最小,对数据库消耗略大,在客户需要对全数据进行灵活过滤.查找.统计时就有些不够用了,另外对耗时较大的SQL查询就不如第二种方案速度快,对数据库压力也要大些,并且需要编写程序来完成.在Delphi下我考虑使用第二种方案,尤其是在使用uniGUI+ODAC配合使用时.第二种方案对应于服务器内存压力略大,并