CN103064950B - 一种数据库客户端构建方法及系统 - Google Patents

一种数据库客户端构建方法及系统 Download PDF

Info

Publication number
CN103064950B
CN103064950B CN201210581732.5A CN201210581732A CN103064950B CN 103064950 B CN103064950 B CN 103064950B CN 201210581732 A CN201210581732 A CN 201210581732A CN 103064950 B CN103064950 B CN 103064950B
Authority
CN
China
Prior art keywords
database
result
module
parameter set
query
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210581732.5A
Other languages
English (en)
Other versions
CN103064950A (zh
Inventor
朱华栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN201210581732.5A priority Critical patent/CN103064950B/zh
Publication of CN103064950A publication Critical patent/CN103064950A/zh
Application granted granted Critical
Publication of CN103064950B publication Critical patent/CN103064950B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种数据库客户端构建方法及系统,其中一种数据库客户端构建方法,具体包括以下步骤:步骤1:使用静态配置文档配置参数集;步骤2:将步骤1配置的参数集加载到内存数据库中;步骤3:对内存数据库中的参数集执行SQL结构化查询语句,得到查询结果,并将查询出的结果保存在变量中,完成数据库客户端构建。本发明的有益效果是:将本发明所述方法可以提高开发人员开发效率。开发人员不必再对新增查询参数进行修改代码,只需要在配置文件里配置即可;易于维护。以后需要修改或调整参数时,可以直接修改参数配置模板,不需要修改代码。

Description

一种数据库客户端构建方法及系统
技术领域
本发明涉及一种数据库客户端构建方法及系统。
背景技术
目前通过PROC连接ORACLE数据库应用开发现状:
1)数据库客户端应用开发流程如下:
a.通过PROC提供的连接数据库方式接到数据库。例如EXEC SQL结构化查询CONNECT:dbuser IDENTIFIED BY:dbpswd USING:dbname
b.分析入参并构建需要执行的SQL结构化查询语句。通过PROC提供的执行SQL结构化查询语句方式执行SQL结构化查询语句。例如:
EXEC SQL结构化查询PREPARE cmd_SQL结构化查询FROM:tmpSQL结构化查询;
EXEC SQL结构化查询DECLARE cur_cmd CURSOR FOR cmd_SQL结构化查询;
EXEC SQL结构化查询OPEN cur_cmd;
当执行完SQL结构化查询语句后,使用PROC提供的方式,把查询出的数据赋值给变量程序中的变量。例如:
EXEC SQL结构化查询FETCH cur_cmd INTO:cmd id。
发明内容
本发明所要解决的技术问题是,针对现有技术的不足,提供可支持通过配置SQL结构化查询语句和程序处理流程,实现对数据库操作的任何功能的数据库客户端构建方法。
本发明解决上述技术问题的技术方案如下:一种数据库客户端构建方法,具体包括以下步骤:
步骤1:使用静态配置文档配置参数集;
步骤2:将配置的参数集加载到内存数据库中;
步骤3:对内存数据库中的参数集执行SQL结构化查询语句,得到查询结果,并将查询出的结果保存在变量中,完成数据库客户端构建。
本发明的有益效果是:将本发明所述方法可以提高开发人员开发效率。开发人员不必再对新增查询参数进行修改代码,只需要在配置文件里配置即可;易于维护。以后需要修改或调整参数时,可以直接修改参数配置模板,不需要修改代码。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述步骤3具体包括以下具体步骤:
步骤3.1:执行SQL结构化查询语句,得到查询结果;
步骤3.2:遍历查询结果,判断是否有有效的查询结果,如果有,进行步骤3.3;否则,跳出遍历,结束客户端构建;
步骤3.3:申请变量保存查询结果,返回执行步骤3.2。
本发明所要解决的技术问题是,针对现有技术的不足,提供可支持通过配置SQL结构化查询语句和程序处理流程,实现对数据库操作的任何功能的数据库客户端构建系统。
本发明解决上述技术问题的技术方案如下:一种数据库客户端构建系统,包括静态配置模块、内存加载模块、内存数据库和查询模块;
所述静态配置模块用于使用静态配置文档配置参数集,并将所述配置后的参数集发生制内存加载模块;
所述内存加载模块用于接收静态配置模块发送至的参数集,并将所述参数集加载到内存数据库中;
所述内存数据库用于保存内存加载模块保存的数据,接受查询模块发送至的查询指令,并按照所述指令发送相应数据至查询模块;
所述查询模块发送查询指令至内存数据库,并将内存数据库反馈的数据保存在变量中。
本发明的有益效果是:将本发明所述系统可以提高开发人员开发效率,开发人员不必再对新增查询参数进行修改代码,只需要在配置文件里配置即可;易于维护,以后需要修改或调整参数时,可以直接修改参数配置模板,不需要修改代码。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述内存数据库接收查询模块发送查询指令后,内存数据库执行SQL结构化查询语句,并遍历查询出的结果,判断是否存在查询结果后,进行保存并继续进行遍历查询结果或执行其他操作。
进一步,所述判断是否有有效的查询结果,存在两种情况,如果有,则申请变量保存查询结果;否则,跳出遍历,执行其他操作。
所谓遍历(Traversal),是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问题。遍历在二叉树上最重要的运算之一,是二叉树上进行其它运算之基础。当然遍历的概念也适合于多元素集合的情况,如数组。
附图说明
图1为本发明具体实施例1所述的一种数据库客户端构建方法的流程图;
图2为本发明具体实施例2所述的一种数据库客户端构建系统的结构图。
附图中,各标号所代表的部件列表如下:
1、静态配置模块,2、内存加载模块,3、内存数据库,4、查询模块。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,本发明具体实施例1所述的一种数据库客户端构建方法,具体包括以下步骤:
步骤1:使用静态配置文档配置参数集;
步骤2:将配置的参数集加载到内存数据库中;
步骤3:对内存数据库中的参数集执行SQL结构化查询语句,得到查询结果;
步骤4:遍历查询结果,判断是否有有效的查询结果,如果有,进行步骤5;否则,跳出遍历,结束客户端构建;
步骤5:申请变量保存查询结果,返回执行步骤4。
如图2所示,本发明具体实施例2所述的一种数据库客户端构建系统,包括静态配置模块1、内存加载模块2、内存数据库3和查询模块4;所述静态配置模块1用于使用静态配置文档配置参数集,并将所述配置后的参数集发生制内存加载模块2;所述内存加载模块2用于接收静态配置模块1发送至的参数集,并将所述参数集加载到内存数据库3中;所述内存数据库3用于保存内存加载模块保存的数据,接受查询模块4发送至的查询指令,并按照所述指令发送相应数据至查询模块4;所述查询模块4发送查询指令至内存数据库3,并将内存数据库3反馈的数据保存在变量中。
所述内存数据库3接收查询模块4发送查询指令后,内存数据库3执行SQL结构化查询语句,并遍历查询出的结果,判断是否存在查询结果后,进行保存并继续进行遍历查询结果或执行其他操作。
所述判断是否有有效的查询结果,存在两种情况,如果有,则申请变量保存查询结果;否则,跳出遍历,执行其他操作。
山西移动全业务项目中,因为需要数据同步的数据比较多,并且表和表的结构基本不相同使用原来数据库同步程序,每新增加一张表的同步,都需要重新开发程序或者修改程序,才可以进行服用。使用配置实现自适应的数据库客户端适配器开发后,使数据同步工作变得简单高效。
山西移动的配置文件为dateSynchAdapter.h。内容如下:列举部分)
[CRM_TO_BOSS_1]
#源表数据库配置标识
S_DBSERV=CRM_DB
#源表名称
S_TABLE=wsndcmdday
#目标表数据库配置标识
D_DBSERV=BOSS_DB
#目标表名称
D_CTABLE=wsndcmddayhis
#是否修改源表数据状态表示,如果需要修改源表数据状态,UPDATE_SQL结构化查询和UPDATE_ERR_SQL结构化查询必须配置
UP_FLAG=1
#是否同时启动清理进程
MOB_FLAG=1
#是否移历史表
HIS_FLAG=1
#是否移错误表
ERR_FLAG=1
#是否删除源表数据表示,如果需要删除,DELETE_SQL结构化查询必须配置,1表示移动到历史或者错误一条数据,就删除一条数据,根据表唯一主键删除数据,2表示直接删除符合SQL结构化查询语句条件的数据,不需要唯一主键,1和2的SQL结构化查询语句不同,配置时需要注意
DEL_FLAG=2
#历史表是否分年月表,0表示不分年月表,1表示YYYYMM,2表示YYMM,3表示MM
HIS_YM_FLAG=0
#错误表是否分年月表
ERR_YM_FLAG=0
#查询源表SQL结构化查询语句
SELE_SQL结构化查询=SELECT COMMAND_ID,HLR_CODE,COMMAND_CODE,COMMAND_ORDER,ID_NO,SM_CODE,PHONE_NO,NEW_PHONE,IMSI_NO,NEW_IMSI,OTHER_CHAR,OP_CODE,TOTAL_DATE,TO_CHAR(OP_TIME),LOGIN_NO,LOGIN_ACCEPT,TO_CHAR(REQUEST_TIME),BUSINESS_STATUS,SEND_STATUS,TO_CHAR(SEND_TIME),GROUP_ID,ORG_ID,ACK_CODE,TO_CHAR(ACK_TIME),ACK_INFO FROM wsndcmdday WHERE SEND_STATUS='2'AND imsi_no !=″AND ROWNUM<=200 ORDER BY COMMAND_ID
#插入目标表SQL结构化查询语句
INSERT_SQL结构化查询=INSERT INTO wsndcmddayhis(COMMAND_ID,HLR_CODE,COMMAND_CODE,COMMAND_ORDER,ID_NO,SM_CODE,PHONE_NO,NEW_PHONE,IMSI_NO,NEW_IMSI,OTHER_CHAR,OP_CODE,TOTAL_DATE,OP_TIME,LOGIN_NO,LOGIN_ACCEPT,REQUEST_TIME,BUSINESS_STATUS,SEND_STATUS,SEND_TIME,GROUP_ID,ORG_ID,ACK_CODE,ACK_TIME,ACK_INFO)values(:v1,:v2,:v3,:v4,:v5,:v6,:v7,:v8,:v9,:v10,:v11,:v12,:v13,:v14,:v15,:v16,:v17,:v18,:v19,:v20,:v21,:v22,:v23,:v24,:v25)
#修改同步成功的源表数据状态SQL结构化查询语句
UPDATE_SQL结构化查询=UPDATE WSNDCMDDAY SET SEND_STATUS='8'WHERE COMMAND_ID=:v0
#修改同步失败的源表数据状态SQL结构化查询语句
UPDATE_ERR_SQL结构化查询=UPDATE WSNDCMDDAY SET SEND_STATUS='9'WHERE COMMAND_ID=:v0
#删除源表数据SQL结构化查询语句
#DELETE_SQL结构化查询=DELETE WSNDCMDDAY WHERE COMMAND_ID=:v0AND HLR_CODE=:v1
DELETE_SQL结构化查询=DELETE WSNDCMDDAY WHERE SEND_STATUS IN('8','9')
可以看出,在配置文件中,不仅定义了查询的SQL结构化查询语句,还有修改,删除,等操作的SQL结构化查询语句,以后就算表结构发生了变化,不需要改动代码,只需要修改配置文件里面的SQL结构化查询语句就可以了。
并且如果以后有新需求的话,根据流程,只需要修改配置文件就可以做到新需求的开发,也不需要改动或者新开发代码。极大的减轻了程序员的开发工作量和维护工作量
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种数据库客户端构建方法,其特征在于,具体包括以下步骤:
步骤1:使用静态配置文档配置参数集;
步骤2:将配置的参数集加载到内存数据库中;
步骤3:对内存数据库中的参数集执行SQL结构化查询语句,得到查询结果,并将查询出的结果保存在变量中,完成数据库客户端构建;
所述步骤3具体包括以下具体步骤:
步骤3.1:执行SQL结构化查询语句,得到查询结果;
步骤3.2:遍历查询结果,判断是否有有效的查询结果,如果有,进行步骤3.3;否则,跳出遍历,结束客户端构建;
步骤3.3:申请变量保存查询结果,返回执行步骤3.2。
2.一种数据库客户端构建系统,其特征在于,包括静态配置模块、内存加载模块、内存数据库和查询模块;
所述静态配置模块用于使用静态配置文档配置参数集,并将所述配置后的参数集发生制内存加载模块;
所述内存加载模块用于接收静态配置模块发送至的参数集,并将所述参数集加载到内存数据库中;
所述内存数据库用于保存内存加载模块保存的数据,接受查询模块发送至的查询指令,并按照所述指令发送相应数据至查询模块;
所述查询模块发送查询指令至内存数据库,并将内存数据库反馈的数据保存在变量中;
所述内存数据库接收查询模块发送查询指令后,内存数据库执行SQL结构化查询语句,并遍历查询出的结果,判断是否存在查询结果后,进行保存并继续进行遍历查询结果或执行其他操作;
所述判断是否有有效的查询结果,存在两种情况,如果有,则申请变量保存查询结果;否则,跳出遍历,执行其他操作。
CN201210581732.5A 2012-12-27 2012-12-27 一种数据库客户端构建方法及系统 Active CN103064950B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210581732.5A CN103064950B (zh) 2012-12-27 2012-12-27 一种数据库客户端构建方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210581732.5A CN103064950B (zh) 2012-12-27 2012-12-27 一种数据库客户端构建方法及系统

Publications (2)

Publication Number Publication Date
CN103064950A CN103064950A (zh) 2013-04-24
CN103064950B true CN103064950B (zh) 2016-09-14

Family

ID=48107580

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210581732.5A Active CN103064950B (zh) 2012-12-27 2012-12-27 一种数据库客户端构建方法及系统

Country Status (1)

Country Link
CN (1) CN103064950B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789377B (zh) * 2017-03-24 2020-09-29 聚好看科技股份有限公司 网元集群的服务参数更新方法
CN112667659B (zh) * 2020-12-23 2024-04-02 平安普惠企业管理有限公司 特征加工方法及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183363A (zh) * 2006-11-13 2008-05-21 中兴通讯股份有限公司 一种利用系统表结构统一配置管理内存数据库的方法
CN101329685A (zh) * 2008-07-30 2008-12-24 烽火通信科技股份有限公司 一种家庭网关上内存数据库的实现方法
CN101976251A (zh) * 2010-10-26 2011-02-16 国电南瑞科技股份有限公司 用电信息采集终端嵌入式数据库管理模型的实现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8730056B2 (en) * 2008-11-11 2014-05-20 Itron, Inc. System and method of high volume import, validation and estimation of meter data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183363A (zh) * 2006-11-13 2008-05-21 中兴通讯股份有限公司 一种利用系统表结构统一配置管理内存数据库的方法
CN101329685A (zh) * 2008-07-30 2008-12-24 烽火通信科技股份有限公司 一种家庭网关上内存数据库的实现方法
CN101976251A (zh) * 2010-10-26 2011-02-16 国电南瑞科技股份有限公司 用电信息采集终端嵌入式数据库管理模型的实现方法

Also Published As

Publication number Publication date
CN103064950A (zh) 2013-04-24

Similar Documents

Publication Publication Date Title
ES2707230T3 (es) Prueba del ciclo de vida
CN104965735B (zh) 用于生成升级sql脚本的装置
US10387422B2 (en) Incremental and collocated redistribution for expansion of online shared nothing database
US20210365577A1 (en) Application-provisioning framework for database platforms
DE602006014971D1 (de) Zaunmechanismus für client-fehler zur umzäunung von netzwerkdateisystemdaten in einer host-cluster-umgebung
US20150363452A1 (en) Hybrid database upgrade migration
WO2016019772A1 (zh) 一种屏蔽异构数据源的方法及装置
CN104991955A (zh) 一种自动构建模板库的方法及系统
CN103425630A (zh) 协同系统构架及其一致性维护方法
US20200319920A1 (en) Method and system for migrating xml schemas in application releases
CN107368578B (zh) 一种快速生成es查询语句的方法及系统
US20120078877A1 (en) Multi-source searching in a data driven application
CN103064950B (zh) 一种数据库客户端构建方法及系统
CN105678459A (zh) 一种基于元数据库的业务流程定制模型
CN107341210A (zh) Hadoop平台下的C‑DBSCAN‑K聚类算法
CN110806907A (zh) 一种容器化可配置的数据库执行脚本管理系统及方法
CN106599167A (zh) 一种支持增量升级数据库的系统和方法
Sanchez et al. Bigraphical modelling of architectural patterns
WO2015183241A1 (en) Distributed compilation of statically typed languages
CN105302602A (zh) 一种云平台应用程序平滑在线升级方法
CN1780236A (zh) 一种电信智能业务的通用测试系统及方法
US10795880B2 (en) System and method for inter-program file control communication
CN107844508A (zh) 一种企业业务流程数据管理方法
CN106502842A (zh) 数据恢复方法及系统
CZ2017124A3 (cs) Způsob přenášení struktur a datových souborů mezi zdrojovým a cílovým systémem a systém k jeho provádění

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant