一种应用于Oracle数据库的动态数据处理方法技术

技术编号:8078915 阅读:238 留言:0更新日期:2012-12-13 21:42
一种应用于Oracle数据库的动态数据处理方法,它包括以下步骤:创建数据访问对象即DAO对象,包括数据插入、更新和删除;设定连接的数据库Oracle;设置DAO对象对应的结构化查询语句即SQL语句;设置各SQL语句的相应绑定参数;执行动态数据处理,接收数据操作指令,将数据操作指令保存至相应DAO对象的缓存中;判断待处理的DAO对象是否需要继续插入数据,如果需要,则继续把数据插入到DAO对象为其分配的缓存中;否则,执行数据操作,并结束。本发明专利技术通过动态DAO技术,大幅降低系统的改造升级成本,降低人力资源的投入,而且提高系统的稳定性。

【技术实现步骤摘要】

本专利技术涉及数据访问对象即动态DAO技木,尤其是Oracle批量数据处理,具体地说是ー种应用于Oracle数据库的动态数据处理方法
技术介绍
QuickMDB是ー款内存数据库,数据存储在共 享内存中,同时还可以同步到Oracle等文件数据库中。由于QuickMDB自身要求的高效性,决定了数据同步的速度也必须很高。通常对于Oracle数据的访问,单条处理简单方便,但是速度仅有几百条/秒,显然无法满足性能方面的要求。Oracle提供了ー套批量处理数据的接ロ,可以把同步速度提升至几千条/秒。 这种批量处理数据的方式,就是ArrayBound技术,借此可以实现DAO即数据访问对象。DAO方案中,如何把DAO应用到同步逻辑中,最通常的做法是,对于某个特定的应用,制定特定的DA0,优点是量身定制,速度会,使用简单。缺点就是应用一旦变化,DAO需要重新订制。对于ー款内存数据库而言,事先无法知道应用如何使用,无法提前订制DA0,就必须寻找一套合适的方式,去动态实现DA0。
技术实现思路
本专利技术的目的是针对数据库同步问题中,只能定制DA0,应用一旦变化,DAO需要重新订制的问题,提出ー种应用于Oracle数据库的动态数据处理方法。动态DAO技木,就是要解决目前DAO方案中,代码与SQL绑定的弊端,通过动态识别SQL和參数,消除DAO的业务关联,实现系统的高度灵活性,降低模块耦合度。本专利技术的技术方案是 ー种应用于Oracle数据库的动态数据处理方法,它包括以下步骤 (a)、创建数据访问对象即DAO对象,包括数据插入、更新和删除; (b)、设定连接的数据库Oracle; (C)、设置DAO对象对应的结构化查询语句即SQL语句; (d)、设置各SQL语句的相应绑定參数; (e)、执行动态数据处理,接收数据操作指令,将数据操作指令保存至相应DAO对象的缓存中; (f)、判断待处理的DAO对象是否需要继续插入数据即接收数据操作指令,如果需要,则继续把各指令的SQL语句的相应參数插入到DAO对象为其分配的缓存中;否则,执行数据fe作,并结束; (g)、判断DAO对象处理量即数据处理量是否已达到设定阈值,如果达到,则执行批量操作,否则,返回步骤(e)。本专利技术的步骤(d)中,各SQL语句的相应绑定參数均包括參数名称即SQL变量名、參数类型、參数长度、參数的目标值和參数位置。本专利技术的有益效果 本专利技术实现动态DAO技术,解决目前DAO方案中,代码与SQL绑定的弊端,通过动态识别SQL和參数,消除DAO的业务关联,实现系统的高度灵活性,降低模块耦合度。本专利技术能够把DAO的共性抽取出来,实际数据分成2种整数(long long)、字符串(char/varchar),复杂的BLOB并没有出现 ,这能够有益于简化代码复杂度。对于ArrayBound技术,本专利技术中通过设定的两个參数实现I、DAO对应的SQL ;2、需要绑定的參数。本专利技术通过动态DAO技术,大幅降低系统的改造升级成本,降低人力资源的投入,而且提闻系统的稳定性。附图说明图I是本专利技术的流程图。具体实施例方式下面结合附图和实施例对本专利技术作进ー步的说明。如图I所示,ー种应用于Oracle数据库的动态数据处理方法,它包括以下步骤 (a)、创建数据访问对象即DAO对象,包括数据插入、更新和删除; (b)、设定连接的数据库Oracle; (C)、设置DAO对象对应的结构化查询语句即SQL语句; (d)、设置各SQL语句的相应绑定參数;包括參数名称即SQL变量名、參数类型、參数长度、參数的目标值和參数位置。(e)、执行动态数据处理,接收数据操作指令,将数据操作指令保存至相应DAO对象的缓存中; (f)、判断待处理的DAO对象是否需要继续插入数据即接收数据操作指令,如果需要,则继续把各指令的SQL语句的相应參数插入到DAO对象为其分配的缓存中;否则,执行数据fe作,并结束; (g)、判断DAO对象处理量即数据处理量是否已达到设定阈值,如果达到,则执行批量操作,否则,返回步骤(e)。具体实施时 1、首先设定连接的数据库,调用如下接ロVoid SetDBLink (TOraDBDatabase* pDBLink); 2、设置对应的SQL语句,调用如下接ロ int SetSQL (const char* pszSQL); 3、依次把參数设置进去,调用如下接ロint AddParameter(const TOCSDAOData & tData);4、开始数据插入,调用如下接ロVoid StartAddRecord ();5、插入整数或者字符串,,调用如下接ロInt AddRecordunt iPos,long long iValue);Int AddRecord(int iPos, const char* pszValue);6、結束数据插入,调用如下接ロVoid EndAddRecordO ;7、所有数据插入完毕,执行批处理操 作,调用如下接ロInt Execute ();本专利技术未涉及部分均与现有技术相同或可釆用现有技术加以实现。权利要求1.,其特征是它包括以下步骤 (a)、创建数据访问对象即DAO对象,包括数据插入、更新和删除; (b)、设定连接的数据库Oracle; (C)、设置DAO对象对应的结构化查询语句即SQL语句; (d)、设置各SQL语句的相应绑定参数; (e)、执行动态数据处理,接收数据操作指令,将数据操作指令保存至相应DAO对象的缓存中; (f)、判断待处理的DAO对象是否需要继续插入数据即接收数据操作指令,如果需要,则继续把各指令的SQL语句的相应参数插入到DAO对象为其分配的缓存中;否则,执行数据fe作,并结束; (g)、判断DAO对象处理量即数据处理量是否已达到设定阈值,如果达到,则执行批量操作,否则,返回步骤(e)。2.根据权利要求I所述的应用于Oracle数据库的动态数据处理方法,其特征是所述的步骤(d)中,各SQL语句的相应绑定参数均包括参数名称即SQL变量名、参数类型、参数长度、参数的目标值和参数位置。全文摘要,它包括以下步骤创建数据访问对象即DAO对象,包括数据插入、更新和删除;设定连接的数据库Oracle;设置DAO对象对应的结构化查询语句即SQL语句;设置各SQL语句的相应绑定参数;执行动态数据处理,接收数据操作指令,将数据操作指令保存至相应DAO对象的缓存中;判断待处理的DAO对象是否需要继续插入数据,如果需要,则继续把数据插入到DAO对象为其分配的缓存中;否则,执行数据操作,并结束。本专利技术通过动态DAO技术,大幅降低系统的改造升级成本,降低人力资源的投入,而且提高系统的稳定性。文档编号G06F17/30GK102819588SQ20121027690公开日2012年12月12日 申请日期2012年8月6日 优先权日2012年8月6日专利技术者刘启铨, 董春 申请人:南京中兴软创科技股份有限公司本文档来自技高网...

【技术保护点】
一种应用于Oracle数据库的动态数据处理方法,其特征是它包括以下步骤:(a)、创建数据访问对象即DAO对象,包括数据插入、更新和删除;(b)、设定连接的数据库Oracle;(c)、设置DAO对象对应的结构化查询语句即SQL语句;(d)、设置各SQL语句的相应绑定参数;(e)、执行动态数据处理,接收数据操作指令,将数据操作指令保存至相应DAO对象的缓存中;(f)、判断待处理的DAO对象是否需要继续插入数据即接收数据操作指令,如果需要,则继续把各指令的SQL语句的相应参数插入到DAO对象为其分配的缓存中;否则,执行数据操作,并结束;(g)、判断DAO对象处理量即数据处理量是否已达到设定阈值,如果达到,则执行批量操作,否则,返回步骤(e)。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘启铨董春
申请(专利权)人:南京中兴软创科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1