随笔分类 - ODAC
摘要:用TVirtualTable在内存中缓存TOraQuery中的数据,主要应用场景是参照其他数据,需要将TOraQuery中的数据复制到TVirtualTable,由于没有类似于TClientDataSet的Data属性,所以只能考虑数据对拷。原来考虑的是通过数据流方式,采用:ms := TMemor...
阅读全文
摘要:ODAC获取数据的效率比较高,在Web程序中希望能够更快获取第一页的数据时,可以有几种方式:1、在数据库中进行分页处理;2、获取所有数据,只是快速返回第一页数据。第一种方案对应用服务器资源消耗最小,对数据库消耗略大,在客户需要对全数据进行灵活过滤、查找、统计时就有些不够用了,另外对耗时较大的SQL查...
阅读全文
摘要:ODAC支持通过Oracle的序列来自动生成表的主键功能。这个过程允许在客户端自动完成,不需要过多代码。这个对一些要求自动增长字段做主键的场合非常有用。其实现步骤为:1、数据库必须先建立生成主键的序列。2、设置数据集的KeySequence属性,指向数据库中的序列。3、设置数据集的SequenceM...
阅读全文
摘要:数据集的缓冲模式(Cached mode)是将数据库服务器的数据缓冲在客户端内存中进行处理,不再依赖服务器。只有当数据需要提交数据库服务器进行保存时,才将变更数据一次性提交数据库服务器。数据集缓冲模式的最大优点是减少了对数据库服务器的资源消耗,甚至可以在网络断开的情况下,对数据进行处理然后在网络连接...
阅读全文
摘要:主从模式(Master/Detail mode)是指建立主表和从表关系的多个数据集集合模式。1. 关系设置要设置主从模式,必须有一个主表数据集(TDataSet)和一个从表数据集(TDataSet),且主表数据集关联一个数据源组件(TDataSource),并将从表数据集的MasterSource指...
阅读全文
摘要:直接访问模式(Direct mode)是ODAC最大的特色之一,即不需要安装Oracle客户端,ODAC越过了OCI(Oracle Call Interface ),使用TCP/IP协议就可以直接与Oracle服务器通信,使得ODAC程序的部署非常方便,性能也非常高。要设置直接访问模式,只需要将连接...
阅读全文
摘要:数据离线模式(Disconnected Mode)是指数据库只有在需要的时候才连接,数据的处理放在客户端内存缓冲区中完成。这样做最大的好处是减少了网络资源依赖,对数据库服务器的资源开销和压力也减少。如果客户端需要经常反复地连接和关闭数据库连接,也可以采用ODAC的连接池模式。要实现数据离线模式,需要...
阅读全文
摘要:名称类型说明AbortOnKeyViolBoolean在处理数据时,如果发生主键冲突或主键校验失败时,是否中断AbortOnProblemBoolean发生问题时是否中断ChangedCountInteger目标数据集变动记录数CommitCountInteger用于设置一次性移动到目标数据集中并提...
阅读全文
摘要:通过TOraMetaData控件获取Oracle数据库对象信息,首先需要设置MetaDataKind属性,然后设置Restrictions属性设置条件,最后通过激活数据集获取信息,演示代码如下:MetaData.Connection := Connection;MetaData.MetaDataKi...
阅读全文
摘要:名称类型说明ColumnsTDAColumns需要载入数据的每个字段定义LoadModeTLoadMode载入模式,包括:lmDirect 通过内部数据缓冲区载入到数据库中lmDML 将数据转换为DML语句再提交到数据库中TableName载入数据的表名称CreateColumns根据TableN...
阅读全文
摘要:TOraEncryptor名称类型说明DataHeaderTCREncDataHeader一些附加信息放入加密数据中,包括:ehNone 无附加信息ehTag GUID和随机生成的初始化向量数据ehTagAndHash Hash、GUID和随机生成的初始化向量数据EncryptionAlgorith...
阅读全文
摘要:名称类型说明OptionsTVirtualTableOptions选择项,包括:voPersistentData:在数据集关闭时不处理其相关数据内容voStored:设计期对数据集的处理以及录入的数据将保存在DFM文件中AddField增加一个字段,需要Active=True后生效DeleteFie...
阅读全文
摘要:名称类型说明ActiveBoolean激活SQL跟踪DBMonitorOptions将跟踪信息发送到dbMonitor工具软件的选择项HostIP地址Port端口号ReconnectTimeout重新连接的TimeOut时间SendTimeout发送信息的TimeOut时间Options跟踪SQL的...
阅读全文
摘要:名称类型说明DataSet如果脚本中返回了数据结果,则通过该数据集进行获取Delimiterstring脚本语句之间的分隔符EndLineInteger脚本中最后一行的行号EndOffsetInteger脚本中最后一行的偏移量EndPosInteger脚本中最后一个字符的位置StartLineInt...
阅读全文
摘要:名称类型说明DataSet指向需要执行更新操作的数据集DeleteObject当执行删除操作时,通过该属性执行另外一个数据集,由后者来执行更多的删除动作DeleteSQLTStrings删除所需要的SQL语句InsertObject当执行插入操作时,通过该属性执行另外一个数据集,由后者来执行更多的插...
阅读全文
摘要:TOraSQL是一个SQL语句执行控件,包括PL/SQL块等,不返回数据集结果。名称类型说明ChangeCursorBoolean在非阻塞模式下是否允许改变屏幕的光标WaitExecuting在非阻塞模式下用于等待SQL执行结束TOraTable名称类型说明TableNameString设定表的名称...
阅读全文
摘要:TSmartQuery是相对于TOraQuery更简洁的数据集,其成员如下名称类型说明ExpandBoolean缺省为False,如果为True,则表示无论SQL中罗列的字段是哪些,数据集将自动获取所有字段数据和信息SmartRefreshBoolean缺省为False,如果为True,则表示应用程...
阅读全文
摘要:名称类型说明SequenceModeTSequenceModeODAC可以直接利用Oracle中的序列对象为表的主键赋值,从而实现主键自动增长的功能。该属性决定了在什么场合下使用序列:smInsert 新增记录时smPost 更新记录时注意:根据序列更新的字段由KeyFields决定KeySequ...
阅读全文
摘要:7.其他名称类型说明FindKey类似于BDE的相关功能,在当前数据集中查找指定的记录FindNearest移动游标到最符合查找要求的第一条记录处FindMacro当前数据集中是否存在指定的宏FindParam当前数据集中是否存在指定的参数GetDataType获取指定字段的内部数据类型GetFie...
阅读全文
摘要:6.OptionsTCustomDADataSet的选择项为TDADataSetOptions,其成员介绍如下表:名称类型说明TDADataSetOptions AutoPrepareBoolean执行SQL前是否自动执行Prepare CacheCalcFieldsBoolean缓冲计算字段(TF...
阅读全文